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

GCC编译C++调用nlohmann/json出现大量undefined reference错误

问题原因与解决方法

  1. 编译器选择错误
    你当前使用的gcc是C语言编译器,默认不会自动链接C标准库,你看到的所有std::相关的未定义引用报错都来源于此。编译C代码需要使用g++命令。

  2. 头文件路径配置错误
    你使用的-I/include参数指向的是系统根目录下的include文件夹,而你提到nlohmann的头文件存放在源文件所在目录的子文件夹中,正确的路径应该用相对路径写法,比如头文件放在当前目录的include子文件夹下,参数应该写-I./include。
    另外-L是第三方静态/动态库的搜索路径参数,nlohmann json是纯头文件库,不需要额外链接,这个参数是多余的,可以直接删掉。

正确编译命令

g++ -Wall -o prova -I./include prova.cc

额外说明

代码中关于pi和happy的未使用变量仅为警告,不影响编译结果,如果你想要消除警告,可以在代码中增加变量使用逻辑(比如打印变量值),或者在编译参数中添加-Wno-unused-variable。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 11:27:03