2013-11-07 3 views
3

Я пытаюсь создать статическую библиотеку для iOS. У меня есть 4 класса C++ с обертками Objective-C++. Кажется, что это прекрасно, но когда я пытаюсь запустить свои модульные тесты, я получаю кучу ошибок компоновщика, подобных приведенным ниже. Есть ли какая-то команда, которую мне нужно добавить, чтобы использовать мою библиотеку?Ошибки компоновщика при использовании библиотеки C++/Objective C++

(null): "std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from: 

редактировать:

Я решил эту проблему, добавив LibC++ dylib рамки для обеих целей..

+0

Какую версию Xcode вы используете? – herzbube

+0

Только что переключился на 5 – mimc

ответ

0

Догадка: библиотека и объекты тестирования объекта не согласны с тем, какую стандартную библиотеку C++ они используют. Дважды проверьте настройку сборки в обеих целях.

  • В Xcode 4.6 параметр находится под заголовком "Apple LLVM компилятор 4,2 - язык"
  • В Xcode 5 установка находится под заголовком "Apple LLVM 5.0 - Язык - C++"

В обоих случаях настройка называется «Стандартная библиотека C++» (duh!), И две цели должны согласовать, используют ли они libstdC++ или libC++.

+0

Непонятно, что оба говорят libC++ – mimc

+0

@mimc Убедитесь, что параметр «Диалоговый язык C++» одинаковый для обеих целей. Если это не помогает, то у меня нет идей (хотя моя догадка по-прежнему довольно сильная - ошибка компоновщика явно указывает на стандартную библиотеку C++). – herzbube

+0

Все настройки в разделе C++ совпадают. – mimc

Смежные вопросы