如何在Visual Studio 2022中使用jsoncpp?头文件引入报错求助
解决Visual Studio 2022中jsoncpp头文件找不到的问题
先纠正头文件引用错误
你当前写的#include <jsoncpp/json/json.h>是错误的。如果附加包含目录加的是jsoncpp-master\include,正确引用应该是#include <json/json.h>——因为include目录下直接就是json文件夹,里面存放着json.h等核心头文件。
方案一:用vcpkg快速集成(推荐VS2022使用)
- 安装vcpkg并关联Visual Studio 2022(未安装的话先完成这一步)
- 打开终端执行
vcpkg install jsoncpp:x64-windows(根据你的项目平台选x86或x64) - 在VS项目中右键→属性→vcpkg→勾选“使用vcpkg集成”
- 直接用
#include <json/json.h>引用即可,无需手动配置路径
方案二:手动编译jsoncpp并集成
- 下载jsoncpp源码包并解压,打开根目录下的
CMakeLists.txt - 用CMake生成VS2022解决方案:
- 打开CMake GUI,设置源码路径为jsoncpp根目录,构建路径选一个空文件夹
- 点击
Configure,选择Visual Studio 2022对应平台(x64/x86),完成配置 - 点击
Generate生成VS解决方案
- 打开生成的解决方案,编译
jsoncpp_lib项目(Debug和Release版本都要编译) - 在你的项目中配置:
- 右键项目→属性→C/C++→常规→附加包含目录:添加
jsoncpp-master\include - 链接器→常规→附加库目录:添加编译生成的lib文件路径(比如
build\lib\Debug) - 链接器→输入→附加依赖项:添加
jsoncpp.lib(Debug版为jsoncppd.lib)
- 右键项目→属性→C/C++→常规→附加包含目录:添加
- 引用头文件用
#include <json/json.h>
方案三:直接添加源文件到项目
- 复制
jsoncpp-master\src\lib_json下所有.cpp和.h文件到你的项目目录 - 复制
jsoncpp-master\include\json文件夹到你的项目目录 - 在VS中右键项目→添加→现有项,把复制的
.cpp文件全部添加进项目 - 右键项目→属性→C/C++→常规→附加包含目录:添加项目中
json文件夹的路径(比如$(ProjectDir)\json) - 引用头文件用
#include <json/json.h>
常见错误排查
- 附加包含目录尽量用绝对路径或VS宏(比如
$(SolutionDir)jsoncpp-master\include),避免相对路径出错 - 确保项目平台(x64/x86)和jsoncpp编译的平台一致,不匹配会导致文件找不到或链接错误
- 直接添加源文件时,要把
lib_json下所有cpp文件都添加,漏文件会引发编译错误
内容的提问来源于stack exchange,提问作者Justin
相关产品推荐
相关产品推荐

