對????未定義的引用 c++ ubuntu linux

我在編寫讀取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)

然後編譯就通過了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章