致命错误 C1083: 无法打开包含文件: 'boost/config.hpp': 没有那个文件或目录。

21

我认为我已经完成了所有必要的配置,但仍然出现以下情况:

Error 1 fatal error C1083: Cannot open include file: 'boost/config.hpp': No such file or directory    File:c:\documents and settings\administrator\my documents\visual studio 2008\libs\boost_1_43_0\boost\smart_ptr\shared_ptr.hpp Line:17
这是我设置包含和库文件目录的截图: 1 2 3 我有什么遗漏吗?

1
我在你的配置中没有看到boost包含和/或库目录。再检查一下,可能? - mats
前三行是为了提升性能。 - Ahmed
1
一个建议,有助于未来的开发,是定义一个环境变量(我们使用BOOSTDIR)来指定boost库所在路径,而不是输入完整的路径。这可以让每个开发人员/构建者将boost库放置在对他们有意义的位置。此外,这还使得升级boost版本变得轻松无比,因为程序没有任何更改。 - photo_tom
8个回答

33

我最终找到了答案 :) 我将在这里写下来以帮助大家。

项目>"YOURPROJECT"属性>C/C++>常规>附加包含目录,然后选择你下载库文件的位置。这样做有效,其他方法都不行,所以别忘记这一步。


嗨Ahmed,即使我这样做了,我仍然得到相同的错误。您能告诉我需要精确指向哪个文件夹吗? - RK-
包含库文件的文件夹。 - Ahmed
3
作为一个 C++ 新手,什么是库文件?我只下载了 Boost 的源代码文件。我可以在自己的 C++ 项目中引用它们,还是需要先编译 Boost 或者到别处获取 Boost 二进制文件? - Francois Botha
要检查正在编译的版本,请执行以下操作: 项目>属性>在pushButton配置管理器上右键单击>在“活动解决方案平台”中选择x64而不是x32以使用x64编译。 - Patapoom
1
在 VS 2022 中:在“解决方案资源管理器”中右键单击您的项目 > 属性 > 配置属性 > C/C++ > 常规 > 附加包含目录。 - van_folmert
显示剩余2条评论

10
我已从安装程序中安装了boost。它将库安装在c:\program files\boost中。
请像下面这样将该目录添加到您的项目属性中:

enter image description here


4
请注意,在64位和32位配置中都需要添加“boost”目录的路径。在添加路径时,请根据您的需求选择适当的平台(64位或32位)。如果您同时编译两个版本,则需要添加两个版本的路径。Boost库目录对于上述两种配置是有效的。

1

对我而言,我原本是在针对win32平台进行构建。改为x64后就可以了。


1
我曾经遇到类似的问题……我使用的是Visual Studio 2019 16.6.3。我认为它在某种程度上被卡住了。我将一个包含多个项目的解决方案从2015升级到2019。大多数项目都能够构建,但由于某些原因,一个静态库(输出一个.lib文件)一直在抱怨一些头文件。
几个小时后,我最终通过禁用以下选项使Visual Studio C++“解卡”: “项目属性->C/C++->其他包含目录->下拉菜单->编辑…->复选框继承自父级或项目默认值” 这似乎触发了一种重建有效头文件缓存的过程。现在编译器错误已经消失了。我回到同一个对话框并重新启用“继承自父级或项目默认值”,一切正常。

0

确保您查看的是 boost-filesystem 而不是 boost-system


0

-1
在所有头文件之后添加命名空间:
using namespace std;

从头文件(.h)中删除解决了问题。

从所有头文件中删除所有的“.h”。应该可以解决问题。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接