Добавление библиотеки C++ в проект iOS не скомпилируется должным образом

В моем проекте iOS мне нужно использовать библиотеку C++, состоящую из некоторых файлов заголовков (.h) и файла библиотеки .a (у меня нет фактического исходного кода).

В моем коде Obj-c я импортировал нужный мне заголовок .h, однако Xcode, похоже, не понимает, что он должен интерпретировать заголовок как С++, на самом деле он возвращает бесконечный список проблем, включая ошибки «не найдено» при включениях как эти:

#include <string>
#include <vector>

и другой синтаксис, специфичный для языка С++. К сожалению, изменение расширения .h на .hpp не решает проблему, равно как и установка типа файла на «Заголовок C++» в инспекторе файлов Xcode.

Любое предложение? Есть ли какой-либо флаг, который мне нужно где-то установить, чтобы вручную указать использование g++ в файлах библиотеки? Спасибо.


person micamoita    schedule 08.11.2012    source источник


Ответы (2)


Вы можете импортировать заголовки C++ только в файлы Objective-C++, измените расширение objc-файла на .mm.

person Cfr    schedule 08.11.2012
comment
Привет, я уже пробовал это: к сожалению, это тоже не решает проблему. - person micamoita; 08.11.2012
comment
Решил это. Я импортировал заголовок С++ в свой заголовок obj-c. Переместил оператор импорта в исходный файл .mm, и все скомпилировано правильно. Спасибо. - person micamoita; 09.11.2012

измените расширение файла targetC с .m на .mm Очистите проект, а затем готово

счастливое кодирование

person Abhishek Khedekar    schedule 30.10.2015