2

我正在尝试从我的 Ubuntu 笔记本电脑上设置一个交叉编译器,以便我可以为 Windows 编译命令行程序。到目前为止,我已经用 g++ 编译了我需要的所有库,所以我想做同样的事情来生成等效的 Windows 二进制文件。

我已经通过 apt-get 安装了 gcc-mingw,它安装了许多二进制文件。i686-w64-mingw32-g++我已经使用二进制文件成功地为 Windows 编译了一个“Hello World”程序。

但是,我在编译更复杂的项目时遇到了一些问题。我注意到这个二进制文件包含与标准 g++ 不同的文件夹,它找不到依赖项(例如,boost headers、bits/predefs.h 等)。有没有办法设置 mingw 参数,以便它像 g++ 一样开箱即用?

4

1 回答 1

0

我发现了问题。我使用的 Boost 库是我通过 apt-get 安装的。显然,这意味着许多#if defined (__GLIBC__)人自动转换为#if 1. 这导致包含一些非跨平台的头文件。从网站下载库并使用它解决了这个问题。

于 2013-02-09T12:47:18.357 回答