2014-03-03 4 views
3

Я не могу построить проект в Xcode 5.0.2 с использованием (последней) версии openCV iOS. Я пытался использовать предварительно встроенную фреймворку, загруженную с открытой страницы sourceforge. Я выполнил шаги в учебнике openCV, чтобы добавить фреймворк в Xcode, и я также попытался добавить в проект также файлы libC++. Dylib и/или libstdC++. Dylib.openCV 2.4.8 Исходные ошибки компоновщика iOS 7.0

Я получаю ошибку является предварительная обработка/лексическая ошибка, которая говорит, что не может найти файл <opencv2/opencv.hpp> но в Xcode файла навигатора я могу действительно видеть. Если у меня нет #include файла opencv.hpp, я получаю около 30 ошибок компоновщика при попытке построить проект. Любые идеи о том, как заставить это работать? Я видел некоторые другие сообщения здесь, и я попытался самостоятельно создать структуру из исходного кода, но ничто не показалось мне точно таким же, как моя проблема.

UPDATE: Также, чтобы быть более понятным - я использую Xcode 5.0.2, целевая сборка - iOS 7.0 для стандартных архитектур (armv7 и armv7s).

C++ компилятор компании Apple LLVM 5.0, настройка C++ язык Диалект "компилятор по умолчанию" и настройка компилятора C++ является "LibC++ (LLVM C++ Стандартная библиотека с поддержкой C++ 11)"

ответ

3

Использование предварительной сборки IOS рамки доступны на opencv.org легко:

  1. добавить opencv2.framework к вашему проекту

    enter image description here

  2. в заголовочном файле префикс вашего проекта (.PCH) добавить

    #ifdef __cplusplus 
        #import <opencv2/opencv.hpp> 
    #endif 
    

    , который будет импортировать заголовок OpenCV в весь исходный файл C++

  3. запуска с помощью OpenCV в любом исходном файле C++.

Я полагаю, что вы пытаетесь использовать OpenCV в файлах .m, которые по умолчанию являются объектно-C (не C++) файлами. Поскольку среда OpenCV для iOS написана на C++, вы можете использовать ее только в исходных файлах на C++.

Самый простой способ добавить файл Objectice-C++ в Xcode - установить расширение исходных файлов на .mm.

В качестве альтернативы (и только для записей), вы можете изменить тип файла для Objective-C++ Source в «инспекторе File»

enter image description here

или добавить флаг в -x objective-c++ компилятор на этапе сборки цели.

enter image description here

+0

Привет, спасибо за ответ. Это именно то, что я сделал. На самом деле у меня уже есть код C++ в других файлах .m прямо сейчас. Я просто пытаюсь создать проект, прежде чем начинать писать другие объекты Obj C с помощью openCV.Я также сделаю редактирование сообщений о том, что мои другие настройки компилятора C++: – themantalope

+0

Вы проверили, правильно ли установлен «путь поиска» вашей цели (путь к opecv2.framework)? –

+0

Да, путь к директории opencv2.framework есть. – themantalope

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