2014-06-17 96 views
0

同樣的老錯誤:OpenCV的編譯錯誤和Xcode 5

Undefined symbols for architecture x86_64: 
    "cv::applyColorMap(cv::_InputArray const&, cv::_OutputArray const&, int)", referenced from: 
     _main in test.o 
    "cv::subspaceProject(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)", referenced from: 
     _main in test.o 
    "cv::subspaceReconstruct(cv::_InputArray const&, cv::_InputArray const&, cv::_InputArray const&)", referenced from: 
     _main in test.o 
    "cv::createEigenFaceRecognizer(int, double)", referenced from: 
     _main in test.o 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

我嘗試的代碼是:

https://gist.github.com/hihell/0520674421fe0cb26d38

我已經改變了C++標準庫 「編譯器的默認」,但錯誤仍然在那裏。

但是,其他簡單的代碼,如顯示圖片或打開相機工作正常,具有相同的設置。

版本:

  • 在OpenCV是由釀造安裝,版本2.4.8
  • 版本的Xcode 5.1.1
  • OSX版本10.9.3誰能幫助我?

任何幫助或暗示多於歡迎

回答

0

您需要正確指示頭文件和庫搜索路徑。

看來您已經正確設置了標題路徑。
設置庫搜索路徑,具體操作如下:

  1. 項目的Xcode中找到「庫搜索路徑」設置。 Build Settings -> Search Paths -> Library Search Paths。然後在Debug或Release中,添加OpenCV庫路徑。 (在我的情況下,它是/ usr/local/lib。)

  2. 找到:Buid Phases -> Link Binary With Libraries,添加* .dylib文件。
    在我的情況,我想補充:

    • libopencv_contrib.2.4.9.dylib
    • libopencv_core.2.4.9.dylib
    • libopencv_highgui.2.4.9.dylib
    • libopencv_imgproc.2.4.9名爲.dylib

注,libopencv_contrib.2.4.9.dylib是你提到的功能所必需的編輯,其他人也可能需要。

順便說一句,如果你有添加頭文件的問題,它是一樣的。將它們添加到Build Settings -> Search Paths -> Header Search Paths之下。