Неопределенный символ с библиотекой JsonCPP в Linux 64. Что мне не хватает?
Я использую JsonCPP в качестве парсера для Json в C++, проблема в том, когда я объявляю свою переменную Json::Value root;
, он очень хорошо компилируется, но когда я его использую, программа вылетает, показывая следующее сообщение: undefined symbol: _ZN4Json5ValueD1Ev
, Чего мне не хватает?
Я думал, что это проблема компоновщика, поэтому я поставил свою библиотеку libjson_linux-gcc-4.1.2_libmt.so
в /usr/lib
а также /usr/lib64
и.h к /usr/include/json
поэтому, когда я вызываю библиотеку в моем коде, я делаю #include <json/json.h>
,
Все хорошо, потому что я могу очень хорошо скомпилировать! но я получаю такие же сбои.
Есть ли какой-то путь, который я не могу найти по ссылке?
Спасибо вам всем!
PD: я забыл сказать, что я не компилирую с g++, я компилирую с помощью make-файла
2 ответа
В дополнение к включению файла заголовка, вам также необходимо указать ссылку на библиотеку.
На этапе связывания добавьте аргумент -ljson_linux-gcc-4.1.2_libmt
Это работает для меня, помещая libjson_linux-gcc-4.1.2_libmt.so в тот же каталог вашей программы, который находится при его запуске.