установить библиотеку C ++ json на xcode

Я очень плохо знаком с программированием на xcode и c ++, поэтому, пожалуйста, дайте мне знать, если я поступаю неправильно. По сути, я хочу создать проект на C ++, для которого требуется библиотека для выполнения и приема вызовов json. (это в конечном итоге будет интегрировано как «движок» приложений для iOS и Android.) Я хочу использовать xcode для его создания, и я попытался установить libjson, но не смог его распознать. Затем я попытался использовать JsonCpp и следовал инструкции.

1) я скачал tar.gz
2) Я скачал программу Python scons и в папку jsoncpp и запустил соответствующую команду (что-то вроде «python scons.py platform = linux-gcc check»)

Это создало .a и .dylib файл

Затем я попытался переместить файлы в проект и связать его в xcode из раздела «Связать двоичные файлы с библиотеками» на вкладке «Фазы сборки» в настройках проекта.

Я связал код со своим файлом с помощью оператора включения:
#include «lib / jsoncpp / json.h»

Это привело к следующей ошибке:

Неопределенные символы для архитектуры x86_64:
«Json :: Reader :: parse (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const&, Json :: Значение&, bool) «, ссылка от:
jsonParser :: parseLogin (std :: __ 1 :: basic_string, std :: __ 1 :: allocator>&, std :: __ 1 :: basic_string, std :: __ 1 :: allocator>&) в jsonParser.o
ld: символы не найдены для архитектуры x86_64

(null): «Json :: Reader :: parse (std :: __ 1 :: basic_string, std :: __ 1 :: allocator> const&, Json :: Значение&, bool) «, ссылка от:

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

Для библиотеки libjson я попытался следовать указаниям здесь, но со схожими проблемами:
Не удается установить libjson в c ++ Встраивание в проект XCode 4

У кого-нибудь есть какие-либо советы относительно шагов, которые я могу предпринять, чтобы настроить это? Спасибо за ваше время.

1

Решение

В навигаторе проекта (слева от XCode) щелкните над своим проектом. Затем:

Build Phases -> Link binary with libraries

Здесь вы добавляете все библиотеки и / или фреймворки, которые будут связаны с вашим приложением. Оставьте эту страницу открытой, затем перетащить библиотеки внутри области библиотек … вот и все! не секрет!

Если это не сработает. Вы, вероятно, с неправильной библиотекой. Пытаться lipo -info library проверить, является ли архитектура библиотеки той же, которую вы пытаетесь использовать (в данном случае x86_64).

Если это все еще не работает. Вы, вероятно, с несовместимостью C ++. Любое смешивание libstdc ++ и libc ++ в сборках вызовет проблемы. Весь код C ++ 11, созданный с помощью clang, должен устанавливать переменную окружения: CXX=clang++ -std=c++11 -stdlib=libc++или добавить CXX="clang++ -std=c++11 -stdlib=libc++" в качестве аргумента для настройки.). Если вы скомпилировали libjson через командную строку, проверьте это снова. Но для libJSON гораздо проще, если вы откроете новый проект XCode и добавите файлы в проект, а не скомпилируете его из командной строки.

2

Другие решения

В конце я попытался просто скопировать весь исходный проект в свой проект xcode и собрать его. это закончило тем, что решило проблему.

Вот как я решил проблему:

  1. скачать libjson из sourceforge
  2. распакуйте его.
  3. переместите _internal папку, libjson.h и JSONOptions.h в
    папка проекта xcode
  4. добавьте эти файлы в ваш проект xcode
  5. удалите файлы тестового набора из этого проекта, поскольку они вам не нужны
  6. постройте свой главный, чтобы проверить это, и вы должны быть хорошими, чтобы пойти.
2

По вопросам рекламы [email protected]