(Я новичок практически во всем, что я обсужу здесь ... извинения, если вопрос очень простой). Я использовал Xcode для написания кода на C++ с использованием OpenCV (динамических библиотек). Алгоритм работает плавно, и я создал исполняемый файл, который также работает. Однако он работает только на моем компьютере.Связывание статических библиотек OpenCV в Xcode
Я понимаю, что мне нужно использовать статические библиотеки вместо динамических библиотек. Я провел некоторое исследование и нашел, как это сделать здесь: http://www.shiffman.net/2011/01/23/how-to-build-opencv-static-libraries-mac-os-x/ и здесь: http://www.randomsequence.com/articles/opencv-snow-leopard/.
Я выполнил шаги и, хотя мне пришлось внести пару изменений, я смог создать «.a» файлы, такие как «libopencv_highgui.a».
Мой код, однако, больше не работает при замене библиотек. Я получаю 200+ ошибок. Это один из них:
неопределенные символы для архитектуры x86_64: "_gzputs", ссылки из: __ZL7icvPutsP13CvFileStoragePKc в libopencv_core.a (persistence.o)
Я искал этот вопрос здесь но это ближайший я мог найти: Linking OpenCV libraries in Xcode (не совсем тот же вопрос).
Спасибо всем!
Спасибо! Это очень помогло мне. Теперь я получаю только 25% ошибок. Я думаю, что еще нужно сделать что-то о libopencv_highgui.a: 'Неопределенные символы для архитектуры i386: "_objc_msgSend", ссылочных от: _cvInitSystem в libopencv_highgui.a (window_cocoa.o) - [CVWindow cvMouseEvent:] в libopencv_highgui. a (window_cocoa.o) - [CVWindow rightMouseDragged:] в libopencv_highgui.a (window_cocoa.o) ' – lino
@lino Я обновил ответ. Вам нужно связать все фреймворки/библиотеки, используемые OpenCV, потому что зависимости от статических библиотек не наследуются автоматически. –
Спасибо за обновление. Я попробую! – lino