#xcode #opencv #titanium #appcelerator
#xcode #opencv #titanium #appcelerator
Вопрос:
У меня проблема, которая длится уже больше месяца, и я не могу найти для нее никакого решения. Я создал модуль Appcelerator Titanium, который использует фреймворк OpenCV. Я перепробовал буквально все, что нашел в Интернете, чтобы заставить это работать, но безуспешно. Модуль компилируется, но он выходит из строя при создании приложения, которое его использует. Чтобы глубже разобраться в проблеме, я компилирую приложение с помощью CLI
using appc run -p ios -l trace
, чтобы увидеть его целиком. Это то, что я получаю:
[TRACE] ld: framework not found opencv2 [TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Это произойдет, если я объявлю фреймворк в module.xconfig
файле следующим образом:
OTHER_LDFLAGS=$(inherited) -framework opencv2
Если я не объявлю это в файле, я получу:
[TRACE] symbols not found for architecture x86_64 [TRACE] clang: error: linker command failed with exit code 1 (use -v to see invocation)
Ну, opencv2.framework
файл находится внутри /ios
папки в модуле.
Это то, что я пробовал до сих пор, чтобы поместить OpenCV Framework
в проект:
Официальный пример OpenCV для XCode
Компилируем его с нуля, а затем добавляем в проект
brew install opencv and then adding it to the project
Я настроил Framework Search Paths
вот так:
$(inherited) $(PROJECT_DIR) $(SRCROOT)
Header Search Paths
вот так:
$(inherited) "$(TITANIUM_SDK)/iphone/include" /usr/local/Cellar/opencv/4.4.0/include
(этот последний, при установке с помощью brew CLI command
.
Other Linker Flags
, Настроен следующим образом:
Эту конфигурацию я получил из этого руководства: OpenCV на XCode
И, наконец, я попытался добавить .dylib
файлы из источника OpenCV Framework
в проект, щелкнув правой кнопкой мыши название проекта и добавив файлы.
Итак, я перепробовал все, что мог найти, чтобы решить эту проблему, но я не могу заставить ее работать. Извините за длинный вопрос, но у меня совершенно нет идей о том, как заставить это работать.
Пожалуйста, помогите мне!
Ответ №1:
Прежде всего, opencv2.framework
оно автоматически копируется в папку XCode /ios
(если вы выбрали Копировать файлы при необходимости). НО Appcelerator нуждается в сторонних фреймворках для размещения в /ios/platform
папке. Итак, я переместил его туда.
Во-вторых, я добавил -lz
в Other Linker Flags
Build Settings
.
Это решило проблему. Я должен поблагодарить команду и разработчиков из TiSlack
(сообщество платформы Appcelerator), которые помогли мне в этом. Майкл и Ганс, спасибо!
Ответ №2:
Вот видео, которое помогло мне установить OpenCV4 на мой Macbook Pro Mojave 10.14.6. Я попытался установить OpenCV с помощью другого видео, и это привело меня к ошибке компоновщика, похожей на вашу.
По сути, проблема заключалась в пути, который я указал для своих папок / lib и / include.
https://www.youtube.com/watch?edufilter=NULLamp;v=HxNZEa7Slyk
Комментарии:
1. Спасибо! Я уже решил свою проблему, но я сохраню это видео на будущее.