Ubuntu上缺少MinGW的标头依赖项

Missing header dependencies with MinGW on Ubuntu

本文关键字:依赖 MinGW Ubuntu      更新时间:2023-10-16

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

我通过apt-get安装了gcc-mingw,它安装了许多二进制文件。我使用i686-w64-mingw32-g++二进制文件成功地编译了一个适用于windows的"Hello World"程序。

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

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