我知道已经发布了类似的问题,但我找到的解决方案对我来说根本没用。
我正在使用XCode 4.5和openCV 2.4.3。我从源代码构建了库,我将编译器设置为LLVM GCC 4.2,每当我尝试使用cvCvtColor()时,都会收到以下错误消息:
Undefined symbols for architecture x86_64:
"_cvCvtColor referenced from:
_main in main.o
非常感谢任何见解!
答案 0 :(得分:1)
我发现了问题,我在踢自己。事实证明我没有导入cvCvtColor()所在的特定库(特定于libopencv_imgproc)。
答案 1 :(得分:0)
在终端中,“cd”到包含OpenCV库的目录(或者实际上是库,因为我看到其中一些是在我查看此"how to build OpenCV tutorial"时构建的),然后键入此命令:< / p>
“nm -arch x86_64 _________.a
”(填写下划线所在的库的名称)
这会转储库的所有符号。您可以egrep或搜索“cvCvtColor
”。
我的猜测是你只为32位构建了OpenCV(如果在“-arch x86_64
”命令中指定“nm
”时绝对没有符号,这将很容易看出并且您还需要为64位(x86_64)构建OpenCV库。