链接到MacOSX下的OpenCV

时间:2011-05-18 09:53:07

标签: c++ macos linker opencv

我正在尝试在最初使用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,但我不确定在这里使用什么。

2 个答案:

答案 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也一样。