不带 -I 标志的链接 Boost 标头(来自 nuwen.net 的 MinGW Distro)

Posted

技术标签:

【中文标题】不带 -I 标志的链接 Boost 标头(来自 nuwen.net 的 MinGW Distro)【英文标题】:Link Boost headers without -I flag ( MinGW Distro from nuwen.net ) 【发布时间】:2018-08-09 13:37:04 【问题描述】:

我有带有 GCC 编译器和 Boost Libs 的 MinGW Distro(从 nuwen.net 下载)。

我需要链接一些 Boost 标头。并且 GCC 不会在 "C:\MinGW\include" 文件夹中查找标题。它只在这个文件夹中寻找:

g++ ./server.cpp -v -c 
#include "..." search starts here:
#include <...> search starts here:
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../include/c++/8.1.0
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../include/c++/8.1.0/x86_64-w64-mingw32
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../include/c++/8.1.0/backward
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/include
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/include-fixed
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/8.1.0/../../../../x86_64-w64-mingw32/include
End of search list.

在我的 makefile 中我必须这样做

g++ -I "C:\MinGW\include" ./main.cpp

但我只想这样做:

g++ ./main.cpp

我可以为 gcc 设置一些 Windows 10 环境变量还是我需要自己设置 gcc 或类似的东西? 还是我应该总是写标志-I

【问题讨论】:

【参考方案1】:

我明白了。 我必须在命令行中编译它,它由文件C:\MinGW\open_distro_window.bat 打开。如说明中所述,在这些网站的第三段中。

【讨论】:

以上是关于不带 -I 标志的链接 Boost 标头(来自 nuwen.net 的 MinGW Distro)的主要内容,如果未能解决你的问题,请参考以下文章

包括 Boost 文件系统标头

带有 Qt/boost 项目的 VC xtree 内部标头中的语法错误

使用仅标头库时,会增加链接器错误

简单线程程序的链接器错误(来自 boost_chrono 的符号丢失)

来自boost / serialization / vector #include的链接器错误

使用 Boost 源代码的链接器错误 [关闭]