2011-09-24 83 views
1

通過cmake進程構建並安裝opencv後,我採取了一些建議步驟將這些庫集成到Xcode項目中。在Xcode項目中使用OpenCV會導致鏈接器錯誤

  • 我使用 「鏈接二進制與圖書館」 在構建階段兩個libopencv_core.dylib和libopencv_highgui.dylib
  • 「頭搜索路徑」 包含/ usr /本地/包括/和/ usr/include中/(中opencv標頭本身位於/ usr/local/include/opencv2中,我試圖將其包含在內)
  • 「庫搜索路徑」包含/ usr/local/lib和/ usr/lib(opencv dylib文件位於/ usr/local/lib /)

然後我加了一點demo的opencv代碼。當我運行這個項目,我讓你從連接問題預計錯誤:

Apple Mach-O Linker Error: Undefined symbols for architecture x86_64: "_cvCvtColor", referenced from:

使用的dylibs我包括file顯示我的期望:

file /usr/local/lib/libopencv_core.dylib /usr/local/lib/libopencv_core.dylib: Mach-O 64-bit dynamically linked shared library x86_64

file /usr/local/lib/libopencv_highgui.dylib /usr/local/lib/libopencv_highgui.dylib: Mach-O 64-bit dynamically linked shared library x86_64

這兩個文件都是爲適當的架構和(我認爲)正確地添加到項目中而構建的。我怎樣才能調試我可能遇到的其他鏈接器問題?我從哪裏出發?

回答

7

cvtColor位於libopencv_imgproc.dylib中。把它添加到「鏈接二進制庫」階段,你應該很好。

+0

謝謝!我認爲我在某個地方閱讀過我只需要包括core和highgui,這個建議顯然不適用於我正在構建的項目。 – Nick

+1

[The wiki](http://opencv.willowgarage.com/wiki/Mac_OS_X_OpenCV_Port)表示_Select libopencv_core.dylib,libopencv_highgui.dylib以及您的project_所需的任何其他庫。 [OpenCV文檔](http://opencv.itseez.com/)會告訴你哪個庫包含你正在使用的功能。 – SSteve