Dar*_*per 5 xcode opencv linker-errors ios
我的项目工作得很好,直到今天早上.我使用的是xcode 4.3,以及旧版本的OpenCV(我不确定确切的版本).OSX已经是10.7.x,但不是10.7.5
今天,在将OSX升级到10.7.5,xcode升级到4.5.2,以及下载OpenCV 2.4.3之后,我在尝试构建项目时遇到以下链接器错误:
架构armv7的未定义符号:
"_ OBJC_CLASS _ $ _ ALAssetsLibrary",引自:
opencv2中的objc-class-ref(cap_ios_video_camera.o)
"cv :: FeatureDetector :: create(std :: string const&)",引用自:
- [ImageAnalyzer在ImageAnalyzer.o中的detectBlobs:]
"cv :: FeatureDetector :: detect(cv :: Mat const&,std :: vector>&,cv :: Mat const&)const",引用自:
- ImageAnalyzer中的[ImageAnalyzer detectBlobs:]. o
ld:找不到架构armv7
clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
为了使用新的opencv框架,我删除了对旧框架的引用,并将项目引用到从此处下载的官方预构建的opencv2.framework .
我还删除了对libz.dylib的引用,并添加了对libc ++.dylib的引用.
最后一步是将前缀文件更新为新框架.前缀文件中的相关部分现在如下所示:
#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif
Run Code Online (Sandbox Code Playgroud)
这一切都缩小到这4个链接器错误我似乎无法摆脱.我尝试使用libstdc ++.dylib,但我得到了更多的错误.我也试图建立自己的OpenCV作为解释在这里,但我仍然得到同样的错误,预建框架.
我错过了什么?我的项目还需要改变什么吗?
更新:
正如所看到这里,设置"C++标准库"到"的libc ++(LLVM C++标准和C++ 11的支持libray"只产生一个错误:
clang:错误:-stdlib = libc ++的无效部署目标(需要iOS 5.0或更高版本)
将部署目标更改为iOS 5终于让我的项目再次运行.
这是否意味着OpenCV 2.4.3不适用于5岁以上的iOS版本?
小智 6
使用cmake 2.8.10和xcode 4.6.1在mac os x lion 10.7.5上编译和运行c ++ opencv 2.4.4的步骤
拥有合适的工具
使用cmake编译opencv
创建一个构建目录
mkdir build
cd build
cmake -D WITH_TBB=OFF -D BUILD_NEW_PYTHON_SUPPORT=OFF -D BUILD_FAT_JAVA_LIB=OFF -D BUILD_TBB=OFF -D BUILD_EXAMPLES=ON -D CMAKE_CXX_COMPILER=g++ CMAKE_CC_COMPILER=gcc -D CMAKE_OSX_ARCHITECTURES=x86_64 -D BUILD_opencv_java=OFF -G "Unix Makefiles" ..
make -j8
sudo make install
Run Code Online (Sandbox Code Playgroud)从build文件夹中,转到bin /并运行其中一个测试
./opencv_test_stitching
Run Code Online (Sandbox Code Playgroud)创建自己的c ++ opencv xcode项目
将已编译的opencv库添加到项目中
写一些代码
干杯.
由于我似乎无法得到有关版本的答案(无论是在此处还是在 OpenCV 问答网站),我将将此作为答案发布,因为它至少解决了问题。此处对此进行了描述。
在项目的Build Settings中,转到Apple LLVM compiler 4.1-Language部分。
那里:
将C++ 语言方言设置为编译器默认值将C++ 标准库
设置为libc++(支持 C++ 11 的 LLVM C++ 标准库)
执行上述操作后,我不再收到这些链接器错误,而只收到一个错误,该错误指出只有 iOS 5 和以上是支持的。在项目 Summery 中将部署目标更改为 5.0 就可以了。
最后一点,我仍然不确定这意味着什么,关于 OpenCV 2.4.3 与 5 之前的 iOS 版本的兼容性。
归档时间: |
|
查看次数: |
6759 次 |
最近记录: |