У меня проблема при попытке скомпилировать программу в этом руководстве из официальной документации OpenCV 2.3.Я создал CMakeList.txt, как сказано в ссылке.Ну, это не сработало.
После хорошего поиска в Google и попытки исправить это, я добавил правильную библиотеку lib и включил папки в OpenCVConfig.make (в / opt / local / share / opencvВот).Что ж, это вывод, когда я пытаюсь сделать это:
$ cmake .
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/carlosagarie/dropbox/code/c++/opencv
$ make
Linking CXX executable teste
Undefined symbols for architecture x86_64:
"cv::_InputArray::_InputArray(cv::Mat const&)", referenced from:
_main in teste.cc.o
"cv::imshow(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, cv::_InputArray const&)", referenced from:
_main in teste.cc.o
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
make[2]: *** [teste] Error 1
make[1]: *** [CMakeFiles/teste.dir/all] Error 2
make: *** [all] Error 2
Пытаясь выяснить, почему он сказал: ld: символ (ы) не найден для архитектуры x86_64 , я посмотрел намоя папка библиотек (/ opt / local / lib) и использовала команду file:
libopencv_calib3d.2.2.0.dylib: Mach-O 64-bit dynamically linked shared library x86_64
То же самое для всех остальных библиотек.Итак, я предполагаю, что это не проблема с ними.Но почему я не работаю с ними?Я действительно не знаю, что делать.
Код такой же, как в уроке, представленном ранее.Мой файл CMakeLists.txt:
cmake_minimum_required(VERSION 2.8)
project( teste )
find_package( OpenCV REQUIRED )
add_executable( teste teste )
target_link_libraries( teste ${OpenCV_LIBS} )
Заранее спасибо!