You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

vcpkg安装jsoncpp后编译提示找不到json.h,如何添加头文件搜索目录

fatal error: 'json.h' file not found

该报错核心原因是编译器的头文件搜索路径中未包含vcpkg安装jsoncpp的对应目录,你可以按照以下步骤处理:

第一步:确认头文件实际路径

首先检查你项目内的vcpkg安装目录,jsoncpp头文件的默认路径为:
[项目内vcpkg根目录]/installed/[目标架构]/include/json/json.h

  • Windows x64架构示例:vcpkg/installed/x64-windows/include/json/json.h
  • Linux x64架构示例:vcpkg/installed/x64-linux/include/json/json.h
  • macOS arm64架构示例:vcpkg/installed/arm64-osx/include/json/json.h
    确认该路径真实存在,排除安装失败、架构选择错误的问题。

另外注意:jsoncpp官方标准引用写法为#include <json/json.h>,如果你代码里写的是#include <json.h>,要么修改为标准写法,要么后续额外把[项目内vcpkg根目录]/installed/[目标架构]/include/json也添加到包含路径中。

第二步:按构建工具配置头文件搜索路径

使用CMake构建(推荐)

优先使用vcpkg原生集成方案,无需手动配置路径:

  1. 执行cmake生成命令时添加vcpkg工具链参数:
cmake -B build -S . -DCMAKE_TOOLCHAIN_FILE=[项目内vcpkg根目录]/scripts/buildsystems/vcpkg.cmake
  1. 在CMakeLists.txt中添加jsoncpp引用逻辑:
find_package(jsoncpp CONFIG REQUIRED)
# 将下方的YourTarget替换为你实际的编译目标名称
target_link_libraries(YourTarget PRIVATE JsonCpp::JsonCpp)

如果不想使用工具链集成,也可以手动添加路径:

# 添加头文件搜索路径
include_directories([项目内vcpkg根目录]/installed/[目标架构]/include)
# 添加库文件搜索路径
link_directories([项目内vcpkg根目录]/installed/[目标架构]/lib)
# 链接jsoncpp库
target_link_libraries(YourTarget PRIVATE jsoncpp)

使用Visual Studio(MSBuild)构建

  1. 右键项目 → 打开「属性」面板,顶部选择对应使用的平台(如x64)
  2. 进入「C/C++ → 常规 → 附加包含目录」,添加路径:[项目内vcpkg根目录]\installed\[目标架构]\include
  3. (可选,用于链接阶段)进入「链接器 → 常规 → 附加库目录」,添加路径:[项目内vcpkg根目录]\installed\[目标架构]\lib;再进入「链接器 → 输入 → 附加依赖项」,添加jsoncpp.lib

使用Makefile构建

在Makefile中添加编译、链接参数:

# 添加头文件搜索路径
CXXFLAGS += -I[项目内vcpkg根目录]/installed/[目标架构]/include
# 添加库搜索路径与链接规则
LDFLAGS += -L[项目内vcpkg根目录]/installed/[目标架构]/lib -ljsoncpp

直接使用gcc/clang命令行编译

编译时直接传入路径参数即可,示例:

g++ your_source.cpp -o output_bin -I./vcpkg/installed/x64-linux/include -L./vcpkg/installed/x64-linux/lib -ljsoncpp

内容的提问来源于stack exchange,提问作者ElMatador

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:15:01