Manual for cross-compiling a C++
Stack overflow地址:Manual for cross-compiling a C++ application from Linux to Windows? - Stack Overflow
翻译:
这有跨平台的C++程序的文档吗,在Linux和Window上?
就像刚才说的,我想要一些信息(链接,引用,示例等等)来指导我怎么做。
我不知道这是不是可行的。
我的目的是在Linux上编译程序,获得一个exe文件可以在Windows上面运行。
Answers1:
基础知识不是很难:
sudo apt-get install mingw32
cat > main.c <
i586-mingw32msvc-cc main.c -o hello.exe
使用yum代替apt-get,或者你的Linux的其他工具。它将会生成 hello.exe在 Windows上运行的。
一旦你掌握了这种发放,你可以使用autotools,设置 CC=i586-mingw32msvc-cc:
CC=i586-mingw32msvc-cc ./configure && make
或者使用CMake工具链来管理。更难的是添加交叉库,通常它们存储在/usr/cross/i586-mingw32msvc/{include,lib},在组建过程中你需要分别的添加路径到配置文件中。
Answers2:
我建议你使用下面的,GUB尝试使用它们的依赖性交叉编译多个包,并将它们组装到当前11个体系结构的单个安装包中。你可以下载一个预先安装iso来安装在虚拟机里(网址),或者下载它的源码(网址)。它目前可用于交叉编译GNU LilyPond / GNU Denemo / Inkscape和OpenOffice.org。
目标体系架构如下:
darwin-ppc - tar.bz2 file for Darwin 7 (MacOS 10.3)/PowerPC
darwin-x86 - tar.bz2 file for Darwin 8 (MacOS 10.4)/x86
mingw - mingw executable for Windows32
linux-x86 - shar archive for Linux/x86
linux-64 - shar archive for Linux/x86_64
linux-ppc - shar archive for Linux/PowerPC
freebsd-x86 - shar archive for FreeBSD 4/x86
freebsd-64 - shar archive for FreeBSD 6/x86_64
cygwin - .tar.bz2 packages for Cygwin/Windows32
arm - shar archive for Linux/ARM (largely untested)
debian - shar archive for Debian (largely untested)
Answers3:
这取决于你的真正意思(我不能很确定):
1.如果你的意思是使用一个存在的Linux程序在windows上,你可以尝试在Windows上使用Cygwin进行编译。它不会给你一个没有任何依赖于Cygwin的可执行文件(你的可执行程序仍然依赖于cygwin.dll),并且需要一些移植,它才可以工作。看http://www.cygwin.com/。
2.如果你想在Linux上执行一个windows上编译的可执行文件或者产生一个exe文件在Windows上执行,使用你的Linux机器开发或者编译你需要看一下MinGW在Linux上,它是一个跨平台编译工具对于Windows和Linux来说。参考:http://www.mingw.org/wiki/LinuxCrossMinGW。