不能在 MinGW 中包含标头
Posted
技术标签:
【中文标题】不能在 MinGW 中包含标头【英文标题】:Cannot include a header in MinGW 【发布时间】:2014-12-24 06:58:55 【问题描述】:我在 Windows 7 上使用带有 MinGW 的 SublimeText 并希望包含
#include <boost/multiprecision/cpp_int.hpp>
但我明白了
fatal error: boost/multiprecision/cpp_int.hpp: No such file or directory
#include <boost/multiprecision/cpp_int.hpp>
无法根据我在此处和 Google 中找到的内容弄清楚该怎么做。
这是包含文件夹的路径: C:\MinGW\包括\
我应该添加类似的东西吗? (根据我的“理解”)
-I C:/MinGW/include/boost
但它不起作用......
【问题讨论】:
看来 cstdint.hpp 是 removed from boost.integer,现在可以在 boost.config 中找到。 【参考方案1】:您需要安装 boost(来自 boost.org)。 http://www.boost.org/users/history/version_1_57_0.html
你的#include
已经以boost/
开头,所以它会在include/boost 中查找。
【讨论】:
【参考方案2】:更新:
"-IC:/MinGW/include"
哦,好吧,我想通了。
所以...我这里有所有必要的库 C:\MinGW\include\
但是为了能够包含 boost 文件 (C:\MinGW\include\boost),我需要将这个文件夹复制到 C:\MinGW\include\c++\4.9.1 这是 MinGW 正在寻找我的文件...
所以最后我得到了 C:\MinGW\include\c++\4.9.1\boost 里面有所有必要的库。现在可以了。
【讨论】:
这确实不是一个好的解决方案 - 额外的头文件/库应该安装在单独的(默认)位置,并且您应该在构建时指定所需的路径,以便编译器可以找到相关文件。 嗯。好吧,不幸的是,没有人解释如何做到这一点,我也无法在这里或在互联网上找到。据我所知,我发现类似的问题没有得到解答。 我尝试了几种指定绝对位置的方法,但对我不起作用。这就是我在这里问这个的原因。似乎没有人知道\帮助。 您只需要添加正确的-I
路径 - 试验直到正确为止。另请参阅 gcc 手册。以上是关于不能在 MinGW 中包含标头的主要内容,如果未能解决你的问题,请参考以下文章