OpenCV未解析符号-名称损坏不匹配-xcode
我在MacBookRunning Lion上本地构建了i386风格的OpenCV,使用OpenCV未解析符号-名称损坏不匹配-xcode,xcode,opencv,name-mangling,Xcode,Opencv,Name Mangling,我在MacBookRunning Lion上本地构建了i386风格的OpenCV,使用 cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 .. make -j8 sudo make install 库的构建和发布都很好,我已经将它们添加到我的xcode项目中。 然而,在构建我的测试应用程序时存在链接错误,它们似乎是名称混乱问题 架构i38
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 ..
make -j8
sudo make install
库的构建和发布都很好,我已经将它们添加到我的xcode项目中。
然而,在构建我的测试应用程序时存在链接错误,它们似乎是名称混乱问题
架构i386的未定义符号:
“cv::namedWindow(std::_1::basic_string const&,int)”,引用自:
_主音中的主音
“cv::imread(std::_1::basic_string const&,int)”,引用自:
_主音中的主音
“cv::imshow(标准::_1::基本字符串常量&,cv::_InputArray常量&)”,引用自:
_main.o中的main
以cv::imread为例,它是从libopencv_highgui.dylib导出的,名称为:
00007510 (__TEXT,__text) external __ZN2cv6imreadERKSsi
而main.o正在引用符号
U __ZN2cv6imreadERKNSt3__112basic_stringIcNS0_11char_traitsIcEENS0_9allocatorIcEEEEi
另一方面,来自同一动态库的函数\uuzn2cv7waitkeyei
链接很好
测试应用程序和框架都是针对i386 arch的
你知道是什么导致了这个问题吗?我也有同样的问题。我认为问题可能是,如果你曾经编译过你的OpenCV库,它们可能是由GCC根据。我将XCode(Apple LLVM 4.1)中使用的编译器切换到LLVM GCC 4.2,现在它可以工作了
<>希望有帮助。< p>我刚才遇到了同样的问题,并用LISSTDC ++作为C++标准库来修复。它被默认为libc++