我在编写读取json文件的代码,首先安装json库,这个可以在网上查询 ,等我代码写好后,我就进行编译出现一下错误:对‘Json::Reader::Reader()’未定义的引用
主要的原因是编译链接的时候,我们的目标文件没有找到json的库,解决办法如下:
首先查找有没有我们想要的库:
$ ldconfig -p|grep libjson
打印出以下信息:
libjsoncpp.so.1 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjsoncpp.so.1
libjsoncpp.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjsoncpp.so
libjson-glib-1.0.so.0 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libjson-glib-1.0.so.0
libjson-c.so.2 (libc6,x86-64) => /lib/x86_64-linux-gnu/libjson-c.so.2
说明我们已经安装了json的库了,然后编辑我们的CMakeList.txt文件
target_link_libraries(${PROJECT_NAME}_node ${catkin_LIBRARIES} jsoncpp)
然后编译就通过了