я собираю кон-сеть (http://conv-net.sourceforge.net/) библиотека глубокого обучения opencv и c ++ на моем Mac OSX, и я не могу пройти через эту ошибку. Кажется, это проблема связывания. Все библиотеки opencv скомпилированы для 64-битной системы, я попытался установить флаг -m64 в cmake, но все еще не работает.
Я не знаю, какая библиотека _cvLoadImage () ссылки в ??? я правильно соединяюсь с соответствующими библиотеками, но не могу исправить эту ошибку ?????
Undefined symbols for architecture x86_64:
"_cvLoadImage", referenced from:
_main in testimg.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [testimg] Error 1
make[1]: *** [CMakeFiles/testimg.dir/all] Error 2
я сделал вывод -v компоновщика, и это показывает это …
Linking CXX executable testimg
Apple LLVM version 6.0 (clang-600.0.56) (based on LLVM 3.5svn)
Target: x86_64-apple-darwin14.0.0
Thread model: posix
"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.10.0 -o testimg -search_paths_first -headerpad_max_install_names CMakeFiles/testimg.dir/tst/testimg.cpp.o libcvconvnet.a -lopencv_core -lopencv_highgui -lexpat -lopencv_imgproc -lopencv_photo -lopencv_shape -lopencv_features2d -lopencv_ml -lopencv_objdetect -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/6.0/lib/darwin/libclang_rt.osx.a
В opencv 3.1.0 я не смог найти отсутствующие символы в /usr/local/lib/libopencv_highgui.dylib
а скорее в /usr/local/lib/libopencv_imgcodecs.dylib
,
Так добавь -lopencv_imgcodecs
к вашей команде компиляции.