# Compiling the EcMasterDemo The following main rules can be used to generate the example applications for all operating systems. - `` is a placeholder for the operating system used. - `` is a placeholder for the architecture. Different architectures are supported. ## EtherCAT® MainDevice Software Development Kit (SDK) The EtherCAT® MainDevice development kit is needed to write applications based on the MainDevice stack. The MainDevice stack is shipped as a library which is linked together with the application. The following components are supplied together with an SDK: : ```default /Bin /Doc /SDK /SDK/INC /SDK/LIB /SDK/FILES /Sources/Common ``` `/Bin` : Executables containing the MainDevice stack `/Doc` : Documentation `/Examples` : One or more example applications using a predefined EtherCAT® configuration. It is easily adaptable to different configurations using an appropriate EtherCAT® configuration XML file. `/SDK` : EtherCAT® Software Development Kit containing libraries and header files to build C/C++-applications `/SDK/INC`: : Header files to be included with the application `/SDK/LIB`: : Libraries to be linked with the application `/SDK/FILES`: : Additional files for platform integration (e.g. Windows CE registry files) `/Sources/Common`: : Shared .cpp-files ## Include search path The header files are located in the following directories: : ```default /SDK/INC /SDK/INC// /Sources/Common ``` ## Libraries The libraries are located in the following directories: : ```default /SDK/LIB// ```