c++ - Visual Studio Code 不能 #include 来自其他路径的库
问题描述
使用 Windows。我一直在使用 CodeBlocks 对 C++ 进行编码,并且我在包含文件夹外部的头文件时没有问题,就像
#include <boost\algorithm\string.hpp>
我一直在尝试使用 Visual Studio Code 编辑和运行相同的源代码一样。我安装了 Visual Studio Code C++ 扩展。我红色的是用户可以在两个地方修改包含路径。在 settings.json 文件和 c_cpp_properties.json 中。[1]:https ://i.stack.imgur.com/r1cjG.png
[2]:https ://i.stack.imgur.com/T6ZDI.png
我尝试在两者中添加一行,但我不工作。我继续得到
main.cpp:10:10:致命错误:boost\algorithm\string.hpp:没有这样的文件或目录
我做错了什么?反斜杠?Visual Studio Code 用户有什么更好的做法?修改本地的 c_cpp_properties.json 还是更通用的 settings.json?[1]:https ://i.stack.imgur.com/r1cjG.png [2]:https ://i.stack.imgur.com/T6ZDI.png
解决方案
Windows 使用反斜杠,而其他操作系统使用正斜杠。由于反斜杠也用于换行符 - 等转义字符'\n'
,因此您需要使用双反斜杠来转义反斜杠 -'\\'
"C_Cpp.default.includePath": [
"C:\\Program Files\\Cpp_libs\\boost_1_75_0\\"
],
添加包含路径后,以下所有 3 应该可以工作
#include <boost/algorithm/string.hpp>
#include <boost\algorithm\string.hpp>
#include <boost\\algorithm\\string.hpp>
这取决于您是要将这些设置应用于所有工作区,还是仅应用于当前工作区,因此您可以相应地添加。
推荐阅读
- php - 如何隐藏“myaccount-order”页面上的取消按钮,跟随支付网关?
- r - 如何将 %in% 的输出存储为 if true, X, if false, Y
- angularjs - prerender 渲染了错误的 url
- angular - 根据列选择以角度 6 动态显示和隐藏 ngx-datatable 列
- wpf - 如何根据另一个按钮的 MouseEnter 触发一个按钮的 MouseOver?
- python-3.x - 在 train_test_split sklearn python 上设置种子
- botframework - BotFramework 上的 SkypeForBusiness 弃用
- java - 在使用 Java 和 Hibernate 的 Dropwizard 项目中,在哪个位置存储数据库密码最安全?
- c# - 将动作委托作为参数传递给构造函数时出现参数错误
- c# - 模型流利验证