2012-08-04 280 views
0

我在我的Mac上成功構建了OpenCV,但無法使用XCode編譯簡單的OpenCV項目。無法使用XCode編譯OpenCV項目4

我將libopencv_core,libopencv_highgui和libopencv_imgproc添加到項目中的文件組。

這裏是連接器輸出:

/Users/petilodie/Library/Developer/Xcode/DerivedData/opencv_test-fylvojzfgmnpmycaxkpiajicbmii/Build/Products/Debug/opencv_test normal x86_64 
    cd /Users/petilodie/Projects/Test/opencv_test 
    setenv MACOSX_DEPLOYMENT_TARGET 10.8 
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk -L/Users/petilodie/Library/Developer/Xcode/DerivedData/opencv_test-fylvojzfgmnpmycaxkpiajicbmii/Build/Products/Debug -F/Users/petilodie/Library/Developer/Xcode/DerivedData/opencv_test-fylvojzfgmnpmycaxkpiajicbmii/Build/Products/Debug -filelist /Users/petilodie/Library/Developer/Xcode/DerivedData/opencv_test-fylvojzfgmnpmycaxkpiajicbmii/Build/Intermediates/opencv_test.build/Debug/opencv_test.build/Objects-normal/x86_64/opencv_test.LinkFileList -mmacosx-version-min=10.8 -o /Users/petilodie/Library/Developer/Xcode/DerivedData/opencv_test-fylvojzfgmnpmycaxkpiajicbmii/Build/Products/Debug/opencv_test 

Undefined symbols for architecture x86_64: 
    "_cvDestroyWindow", referenced from: 
     _main in main.o 
    "_cvLoadImage", referenced from: 
     _main in main.o 
    "_cvNamedWindow", referenced from: 
     _main in main.o 
    "_cvReleaseImage", referenced from: 
     _main in main.o 
    "_cvShowImage", referenced from: 
     _main in main.o 
    "_cvWaitKey", referenced from: 
     _main in main.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

這裏是main.cpp中的代碼:

#include <iostream> 
#include "opencv2/imgproc/imgproc.hpp" 
#include "opencv2/highgui/highgui.hpp" 

int main(int argc, const char * argv[]) 
{ 
    IplImage* img = cvLoadImage(argv[1]); 
    cvNamedWindow("Example1", CV_WINDOW_AUTOSIZE); 
    cvShowImage("Example1", img); 
    cvWaitKey(0); 
    cvReleaseImage(&img); 
    cvDestroyWindow("Example1"); 
} 

所以,這裏有什麼問題嗎?

+0

嘿,我有這個proble plz幫助我 – Nims 2012-09-01 05:58:47

回答

0

您需要的庫鏈接到您的二進制文件:

Build settings

+0

是的,我已經做到了。鏈接到/ usr/local/lib會導致上述錯誤,但鏈接到/usr/local/Cellar/opencv/2.4.2/lib可以正常工作。前lib文件夾是在安裝OpenCv時由Homebrew創建的。 – 2012-08-05 07:26:21