I am developing a software in C++ on windows 32-bit (using MSVC++), but
since I want to be able to use my software on every platform, I have
decided to use CMake as my build generator.

Therefore, I am still just a beginner in CMake. From the CMake tutorials, I
understand that in order to cross compile codes, first a toolchain
simulating the target platform should be installed on the host platform.
Then using the appropriate target-platform C and C++ compilers provided by
this toolchain, CMake would be able to generate makefiles etc.

Now, I want to build my code for Linux platform(GNU/Linux) on a Win32
platform. I tried doing the above procedure using CMake combined with
Cygwin and using gcc and g++ as compilers. It built fine, created
makefiles, and when I issued "make" in Cygwin terminal, the generated
makefiles were "made". Now I have got an executable which I was hoping
would run on Linux platform. But on Linux I get the error: bash cannot
execute binary file.

Using command file executablename, I realized the executable which is made
by the above procedure is of type PE32 which is only for Windows.

Now my question is: Is my understanding of cross-platform build procedure
using cmake correct?Or should I just use another Linux toolchain under
windows to get a Linux ELF executable? What toolchains come to your mind
which would give me what I want?
Many thanks
Setareh
--

Powered by www.kitware.com

Visit other Kitware open-source projects at 
http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the CMake FAQ at: 
http://www.cmake.org/Wiki/CMake_FAQ

Follow this link to subscribe/unsubscribe:
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to