当前位置:  开发笔记 > 编程语言 > 正文

从Linux到Windows交叉编译C++应用程序的手册?

如何解决《从Linux到Windows交叉编译C++应用程序的手册?》经验,为你挑选了2个好方法。

是否有从Linux到Windows交叉编译C++应用程序的手册?

只是.我想要一些信息(链接,参考,例子......)来指导我这样做.

我甚至不知道是否可能.

我的目标是在Linux中编译一个程序并获得一个我可以在Windows下运行的.exe文件.



1> richq..:

基础知识并不太难:

sudo apt-get install mingw32    
cat > main.c <

替换apt-getyum或者Linux发行版使用的任何内容.这将为hello.exeWindows 生成一个.

一旦你了解了它,就可以使用autotools并设置CC=i586-mingw32msvc-cc

CC=i586-mingw32msvc-cc ./configure && make

或者使用CMake和工具链文件来管理构建.更难的是添加本机交叉库.通常它们存储在中/usr/cross/i586-mingw32msvc/{include,lib},您需要在构建过程的配置步骤中单独添加这些路径.


`wine hello.exe`应该这样做!
对于像这样的愚蠢简单程序,WINE是可以的,但VM(VirtualBox,VMWare,QEMU等)是你最好的选择.
如果要生成64位Windows二进制文件,请安装64位工具:`$ sudo apt-get install mingw-w64`.编译器是`x86_64-w64-mingw32-gcc`.
需要注意的一件事是,某些库不喜欢交叉编译。如果唯一的选择是.exe安装程序和源,则可能要在wine下安装该库,然后将这些库和标头复制到mingw搜索路径中。我永远无法让Boost交叉编译

2> Anders Hanss..:

这取决于你的意思(我真的不能说).

    如果您的意思是要在Windows上使用现有的Linux应用程序,那么您可以尝试在Windows上使用Cygwin进行编译.但是,这并没有为您提供一个Windows可执行文件,不受所有依赖于Cygwin的依赖(您的可执行文件仍取决于cygwin.dll文件) - 并且它仍然可能需要一些移植才能工作.见http://www.cygwin.com.

    如果你的意思是你要能够执行Linux上的Windows应用程序的实际编译并生成.exe文件是可执行文件在Windows上-从而用于开发和/或编译你的Linux机器,那么你应该考虑的MinGW的Linux是Linux上用于交叉编译Windows的工具.见http://www.mingw.org/wiki/LinuxCrossMinGW.

最好的祝福!

推荐阅读
帆侮听我悄悄说星星
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有