Manual for cross-compiling a C++ application from Linux to Windows?

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。

你可能感兴趣的:(Manual for cross-compiling a C++ application from Linux to Windows?)