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

标签 c++ windows linux cross-compiling

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

就是这样。我想要一些信息(链接、引用、示例...)来指导我这样做。

我什至不知道这是否可能。

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

最佳答案

基础并不难:

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

apt-get 替换为 yum 或您的 Linux 发行版使用的任何内容。这将为 Windows 生成一个 hello.exe

一旦你明白了这一点,你就可以使用 autotools , 并设置 CC=i586-mingw32msvc-cc

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

或使用 CMake and a toolchain file管理构建。更困难的仍然是添加本地交叉库。通常它们存储在 /usr/cross/i586-mingw32msvc/{include,lib} 中,您需要在构建过程的配置步骤中单独添加这些路径。

关于c++ - 从 Linux 到 Windows 交叉编译 C++ 应用程序的手册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/182408/

相关文章:

c++ - 将此指针推回私有(private)静态成员 vector

C++ 哈希弃用警告

.net - 访问 Windows 剪贴板

php - curl 问题。 PHP 脚本未随叫随到

Linux One Liner 返回 eth 名称、ip、ma​​c 和子网

c++ - 片段着色器中的“错误 : sampler arrays indexed with non-constant expressions are forbidden in GLSL 1. 30 及更高版本”

c++ - 如何使用 shared_ptr 并从 enable_shared_from_this 继承来制作克隆方法

mysql - Sql 未编译用于 64 位

c++ - 在 Visual C++ 中使用 dllimport

linux - 'No package nginx available' 错误 CentOS 6.5