2014-12-21 2 views
2

xcode6에서 opencv 프로젝트를 실행하려고합니다.opencv Apple Mach-O 링커

This tutorial은 멋지며 xcode없이 나와 함께 작동합니다. 응용 프로그램은 make'ing 후 완벽하게 실행됩니다.

이제 개발 환경으로 Xcode 6을 사용하고 싶습니다. 하지만 Apple Mach-O Linker 오류가 발생합니다.

빌드 설정은 다음과 같습니다

Header Search Paths : /usr/local/include (non-recursive) 
Library Search Paths: /urs/local/lib (non-recursive) 

빌드 페이즈> 링크 바이너리 라이브러리 :

Ld /Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Products/Debug/HelloWorld normal x86_64 
    cd /Users/XXX/Desktop/make/CLTproject/HelloWorld/HelloWorld 
    export MACOSX_DEPLOYMENT_TARGET=10.10 
    /Applications/Xcode-Beta.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -arch x86_64 -isysroot /Applications/Xcode-Beta.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk -L/Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Products/Debug -L/usr/local/lib -F/Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Products/Debug -filelist /Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Intermediates/HelloWorld.build/Debug/HelloWorld.build/Objects-normal/x86_64/HelloWorld.LinkFileList -mmacosx-version-min=10.10 -stdlib=libc++ -lc++ -Xlinker -dependency_info -Xlinker /Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Intermediates/HelloWorld.build/Debug/HelloWorld.build/Objects-normal/x86_64/HelloWorld_dependency_info.dat -o /Users/XXX/Library/Developer/Xcode/DerivedData/HelloWorld-ejnkjggujedpyibjbhvocitoxxaj/Build/Products/Debug/HelloWorld 

Undefined symbols for architecture x86_64: 
    "cv::namedWindow(cv::String const&, int)", referenced from: 
     _main in main.o 
    "cv::GaussianBlur(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int)", referenced from: 
     _main in main.o 
    "cv::Mat::deallocate()", referenced from: 
     cv::Mat::release() in main.o 
    "cv::Mat::copySize(cv::Mat const&)", referenced from: 
     cv::Mat::operator=(cv::Mat const&) in main.o 
    "cv::String::deallocate()", referenced from: 
     cv::String::~String() in main.o 
    "cv::String::allocate(unsigned long)", referenced from: 
     cv::String::String(char const*) in main.o 
    "cv::imread(cv::String const&, int)", referenced from: 
     _main in main.o 
    "cv::imshow(cv::String const&, cv::_InputArray const&)", referenced from: 
     _main in main.o 
    "cv::waitKey(int)", referenced from: 
     _main in main.o 
    "cv::fastFree(void*)", referenced from: 
     cv::Mat::~Mat() in main.o 
    "cv::Mat::copyTo(cv::_OutputArray const&) const", referenced from: 
     cv::Mat::clone() const in main.o 
    "vtable for cv::_InputArray", referenced from: 
     cv::_InputArray::_InputArray() in main.o 
     cv::_InputArray::_InputArray(cv::Mat const&) in main.o 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
    "vtable for cv::_OutputArray", referenced from: 
     cv::_OutputArray::_OutputArray(cv::Mat&) in main.o 
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. 
ld: symbol(s) not found for architecture x86_64 
clang: error: linker command failed with exit code 1 (use -v to see invocation) 

모든 아이디어 :

Libc++.dylib 

이 오류가 무엇입니까?

감사합니다, isicom

+0

물론 얻었습니다 : – isicom

+1

물론 : 나는/etc/location/lib에있는 libs를 라이브러리와 링크 바이너리로 Xcode-> 프로젝트 탐색 (왼쪽 사이트)에서 선택 -> 빌드 단계 -> 링크 바이너리 - 라이브러리 섹션 열기 -> n + Sign을 클릭하고 "기타 추가"를 클릭하여 경로/etc/location/lib를 선택하고 모든 라이브러리를 선택하십시오 – isicom

답변

1

그냥 같은 문제에 모두에 약간의 빛을 제공합니다. 나는 모든 도서관을 추가했고 나를 위해 잘 일했다. 나는 libC++에 건물 오류없이 머물렀다.