美文网首页
Manual for cross-compiling a C++

Manual for cross-compiling a C++

作者: 东东东东东东丶 | 来源:发表于2018-06-13 23:15 被阅读0次

    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++

          本文链接:https://www.haomeiwen.com/subject/alareftx.html