如何在 Linux 上调用 MinGW 交叉编译器?
我有一个项目要为 Windows 交叉编译.我有合适的 Makefile 并且一切都适用于 g++
.我跑了
I have a project that I want to cross-compile for Windows. I have the appropriate Makefile and everything works with g++
. I've run
$ apt install mingw-w64
并下载了 500 MB 的软件包,但我不知道如何实际运行它.没有 mingw
可执行文件,那么我如何实际使用它进行编译?
and downloaded 500 MB of packages, but I cannot find out how to actually run it. There is no mingw
executable, so how do I actually compile with it?
推荐答案
如果您查看 mingw-w64
的组成软件包的 Ubuntu 软件包网络服务器上的文件列表:
If you look at the file lists on the Ubuntu package webserver for mingw-w64
's constituent packages:
gcc-mingw-w64-x86-64
g++-mingw-w64-x86-64
binutils-mingw-w64-x86-64
mingw-w64-x86-64位开发
gcc-mingw-w64-i686
g++-mingw-w64-i686
binutils-mingw-w64-i686
mingw-w64-i686-dev
您可以看到 mingw-w64
提供了一个工具链,即一组用于编译您的代码的替代工具(编译器、链接器、头文件等)另一个系统.
You can see that mingw-w64
provides a toolchain, i.e. a set of alternative tools (compiler, linker, headers, etc.) used to compile your code for another system.
假设您要为 64 位系统编译 C++ 代码,则需要使用 /usr/bin/x86_64-w64-mingw32-g++-win32
.您可以使用 CXX
环境变量告诉大多数 Makefile 使用该编译器来编译代码.
Assuming you want to compile C++ code for a 64-bit system, you'll need to use /usr/bin/x86_64-w64-mingw32-g++-win32
. You can use the CXX
environment variable to tell most Makefiles to use that compiler to compile code.
相关文章