Неопределенный символ с библиотекой JsonCPP в Linux 64. Что мне не хватает? - PullRequest
0 голосов
/ 28 октября 2011

Я использую JsonCPP в качестве парсера для Json в C ++, проблема в том, что когда я объявляю мой var 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 ]

1 голос
/ 28 октября 2011

Помимо включения файла заголовка, вам также необходимо указать ссылку на библиотеку.

На этапе связывания добавьте аргумент -ljson_linux-gcc-4.1.2_libmt

0 голосов
/ 10 мая 2016

Это работает для меня, помещая libjson_linux-gcc-4.1.2_libmt.so в тот же каталог вашей программы, который находится при его запуске.

...