我正在尝试在最初使用Linux的MacOS X Snow Leopard中编译C ++ / OpenCV代码。我使用MacPorts安装了OpenCV 2.2,但我不能再使用这样的东西了:
g++ -o Localization Localization.o DataReader.o Kalman.o -libopencv_core -libopencv_highgui -L/usr/local/lib/
我收到了这个错误:
ld: library not found for -libopencv_core
collect2: ld returned 1 exit status
make: *** [Localization] Error 1
我尝试了其他变种;像我最初使用的-lcv,-lhighgui,但我不确定在这里使用什么。
答案 0 :(得分:3)
如果您使用的是macport,那么您使用的是错误的路径。它应该是-L/opt/local/lib
,而不是/usr/local
。另外,为了简化操作,您应该只使用pkg-config:
g++ -o Localization Localization.o DataReader.o Kalman.o $(pkg-config --libs opencv)
(假设您/opt/local/bin
中有PATH
。这样你可以在linux和OS X上使用相同的行。
答案 1 :(得分:2)
链接标记应为-lopencv_core
而不是-libopencv_core
。后者将查找名为libibopencv_core.{dylib,a}
的文件而不是libopencv_core.{dylib,a}
。 opencv_highgui
也一样。