Ответ 1
Взгляните, это может помочь вам: http://www.iphonedevsdk.com/forum/iphone-sdk-development/16528-how-include-stl-xcode.html
Я получаю include not found compile error в XCode. У меня есть проект приложения iOS, который использует Objective-c и С++ как mix.
Сначала я создал один файл .h и один .cpp файл в моем проекте ios. Затем я переименовал файл .cpp в файл .mm.
Вот мой .h файл;
TestLog.h
#ifndef CalculatorDemo_TestLog_h
#define CalculatorDemo_TestLog_h
#include <string>
using namespace std;
class TestLog
{
private:
string logString;
public:
void Log(string logMessage);
};
#endif
TestLog.mm
#include "TestLog.h"
void TestLog::Log(string logMessage)
{
//this->logString->append(logMessage);
}
Что мне не хватает? Нужно ли добавлять std С++-библиотеку в мои целевые объекты? Что-то связано с путями заголовков поиска?
Мне просто нужно использовать строковый тип.
Большое спасибо заранее
Взгляните, это может помочь вам: http://www.iphonedevsdk.com/forum/iphone-sdk-development/16528-how-include-stl-xcode.html
выберите проект → настройка сборки → Яблочный компилятор LLVM 5.1 → язык
В Compile Sources As
измените на Objective-C++
В XCode есть причуда. Я заметил это в 7.3. Большинство проектов распознают файлы .mm и STL, в то время как один проект у меня не был. Исправлено, что мне нужно было щелкнуть по иконке проекта сверху вниз, затем нажмите "Цели" > "Сформировать фазы" > "Связывание двоичных файлов с библиотеками" > и добавьте в AppKit.framework. Затем мне нужно было щелкнуть "Цели" > "Настройки сборки" > "Поиск" в "Скомпилировать источники" и установить его на "Objective С++" во всех возможных столбцах. Затем выполните команду "Очистить", а затем "Создать" в меню "Продукт". Тогда это скомпилировано правильно. Затем вернитесь к этому источнику компиляции и верните его в "По типу файла" во всех возможных столбцах. Затем снова нажмите "Создать" в меню "Продукт". В этот момент он правильно скомпилировался и позволил мне использовать опцию "в соответствии с типом файла", которая мне больше нравится.
О, и если вы делаете Cocoa материал, не забудьте добавить в свои файлы следующий заголовок:
#import <Cocoa/Cocoa.h>
И если вы выполняете команду, не забудьте добавить следующее вместо заголовка Cocoa:
#import <Foundation/Foundation.h>
Я считаю, что вам нужно включить весь путь в библиотеку. аналогично "основам" и "uiview".
#import <Foundation/Foundation.h>
или
#import <UIKit/UIKit.h>
и да, убедитесь, что вы добавили библиотеку в свою цель.