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

2019-05-13 01:33发布

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

只是。 我想一些信息(链接,引用的例子......)来指导我这样做。

我甚至不知道这是否是可能的。

我的目标是在编译的Linux程序,并得到我可以在Windows下运行.exe文件。

Answer 1:

基本是不是太困难:

sudo apt-get install mingw32    
cat > main.c <<EOF
int main()
{
  printf("Hello, World!");
}
EOF
i586-mingw32msvc-cc main.c -o hello.exe

更换apt-getyum ,或任何你的Linux发行版使用。 这将产生一个hello.exe的Windows。

一旦你让你的头周围,你可以使用自动工具 ,并设置CC=i586-mingw32msvc-cc

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

或者使用CMake和工具链文件来管理构建。 更多的困难仍然添加原生交叉库。 通常它们被存储在/usr/cross/i586-mingw32msvc/{include,lib}和你需要添加这些路径中分别在构建过程的配置步骤。



Answer 2:

这取决于你是什么意思(我真的不能说)。

  1. 如果你的意思是你想在Windows上使用现有的Linux应用程序,那么你可以尝试使用它编译Cygwin的 Windows上。 然而,这并不会给你的Windows从对Cygwin的所有依赖可执行免费(可执行文件仍取决于cygwin.dll文件) -它仍然可能需要做一些移植之前,它会工作。 见http://www.cygwin.com 。

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

最好的祝福!



Answer 3:

我建议你给下面GUB (大统一的生成器)一试,因为它交叉编译几个包与他们的依赖关系,并将它们组合成一个单一的安装包目前11架构。 您可以从下载安装预建的异在一个虚拟机在这里 ,并按照源在这里 。 它可以被当前使用到交叉编译GNU LilyPond的/ GNU Denemo / Inkscape中和OpenOffice.org。

目标架构是:

  • 达尔文-PPC - 达尔文7(的MacOS 10.3)/的PowerPC TAR.BZ2文件
  • 达尔文86 - 达尔文8(的MacOS 10.4)/ 86 TAR.BZ2文件
  • MinGW的 - 为WINDOWS32 MinGW的可执行文件
  • Linux的x86的 - 为Linux / x86的莎尔档案
  • Linux的64 - 莎尔用于Linux / x86_64的存档
  • Linux的PPC - 用于Linux / PowerPC的莎尔档案
  • FreeBSD的86 - 为FreeBSD 4/86莎尔档案
  • FreeBSD的-64 - 沙皮为FreeBSD 6 / x86_64的存档
  • Cygwin的 - .tar.bz2格式包的Cygwin / WINDOWS32
  • 手臂 - 用于Linux / ARM(主要是未经测试)莎尔档案
  • Debian的 - 莎尔档案为Debian(主要是未经测试)


文章来源: Manual for cross-compiling a C++ application from Linux to Windows?