Ubuntu下VS Code中引入nlohmann/json库报错求助
解决nlohmann/json库头文件找不到的问题
你遇到的编译错误是因为编译器找不到nlohmann/json.hpp的路径——你的nlohmann文件夹放在json目录下,但编译器默认不会搜索这个目录,需要手动把json目录添加到头文件搜索路径里,下面分不同编译场景给出详细操作:
1. 用g++/clang++命令行编译
在终端进入MyCPP文件夹,执行以下命令:
g++ main.cpp -o main -I ./json
-I参数用来告诉编译器额外的头文件搜索目录,./json就是当前目录下的json文件夹,这样编译器就能找到json/nlohmann/json.hpp了。- 编译完成后,运行生成的可执行文件
./main就能看到输出结果。
2. Visual Studio中配置
- 打开你的项目,右键点击项目名称,选择「属性」
- 在左侧导航栏找到「C/C++」→「常规」
- 在「附加包含目录」的输入框中添加
$(ProjectDir)\json($(ProjectDir)就是你的MyCPP文件夹路径) - 点击「确定」保存设置,重新编译项目即可。
3. CLion/Qt Creator等CMake项目
如果你的项目用CMake构建,修改CMakeLists.txt文件:
# 假设你的目标可执行文件名为main add_executable(main main.cpp) # 添加头文件搜索目录 target_include_directories(main PRIVATE ${PROJECT_SOURCE_DIR}/json)
保存后重新加载CMake配置,再编译项目就能解决问题。
另外也可以调整文件夹结构:把json目录里的nlohmann文件夹直接移到MyCPP目录下,这样不用添加额外路径就能编译,但这种方式会让目录结构变乱,更推荐上面的规范配置方法。
内容的提问来源于stack exchange,提问作者Nicolas Rey
相关产品推荐
相关产品推荐

