Не удается установить libjson в C++ Встраивание в проект XCode 4

Я просто не могу понять, как установить libjson как часть моего C++ проекта. Я прошел через все в Интернете. Встраиваю это в мой проект.

Сначала я попробовал это

  1. Переместил каталог libjson в мой проект
  2. Закомментировано: #define JSON_LIBRARY
  3. Ран сделать
  4. Добавлен #include "libjson/libjson.h"

Проект строит нормально..

Добавил следующее в мой файл main.cpp:

JSONNode n = libjson::parse(json);

Сборка завершается с двумя ошибками:

Undefined symbols for architecture x86_64:
  "JSONWorker::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)", referenced from:
      libjson::parse(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)in main.o
  "internalJSONNode::deleteInternal(internalJSONNode*)", referenced from:
      JSONNode::decRef()     in main.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status

Я также попробовал make && sudo make install и скомпилировать проект вручную. Те же ошибки:

g++ main.cpp -o junk -I/usr/include/libjson -ljson

Я также попробовал:

SHARED=1 make && sudo SHARED=1 prefix=/usr/local make install

Наконец, я попытался скопировать файл libjson в свой проект, а также получил те же ошибки.

Пожалуйста, может кто-нибудь показать мне, что я делаю не так? Мы использовали quickjson, но предпочитаем внешний вид libjson. Основная проблема в том, что мы не можем установить его!

Другие использованные ссылки:

1 ответ

Решение

Я отвечаю на свой вопрос, потому что это была боль в шее. Вот что я сделал, чтобы заставить это работать.

  1. Закомментируйте #define JSON_LIBRARY в JSONOptions.h
  2. Запустить сделать
  3. Добавьте libjson.a в ваш проект
  4. Добавьте libjson.h в ваш проект
  5. Добавьте JSONOptions.h в ваш проект
  6. Добавьте #include "libjson.h" в ваш основной файл проекта

Вуаля. Надеюсь, ты не тратишь столько времени, как я на это...

Другие вопросы по тегам