架构i386的未定义符号:用于OpenCV项目

时间:2014-04-14 10:37:06

标签: ios iphone opencv

我正在尝试构建this project,但它显示错误,

Undefined symbols for architecture i386:
  "cv::merge(std::vector<cv::Mat, std::allocator<cv::Mat> > const&, cv::_OutputArray const&)", referenced from:
      -[RRMainViewController colorSobelEdge:isVertical:] in RRMainViewController.o
  "cv::split(cv::Mat const&, std::vector<cv::Mat, std::allocator<cv::Mat> >&)", referenced from:
      -[RRMainViewController colorSobelEdge:isVertical:] in RRMainViewController.o
  "cv::Exception::Exception(int, std::string const&, std::string const&, std::string const&, int)", referenced from:
      -[RRMainViewController floodFillPostprocess:WithColor:] in RRMainViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

我添加了OpenCV.framework并在.pch文件中添加了这一行

#ifdef __cplusplus
#import <opencv2/opencv.hpp>
#endif

在项目中添加了这个库

  

的libstdc ++。6.0.9.dylib
  的libc ++。dylib
  libz.1.2.5.dylib

但仍然有上述错误..请提前帮助... thanx ..

以下是我的构建阶段

的屏幕截图

enter image description here

=============================================== ==================
解决
@karthika的This回答帮助了我。

1 个答案:

答案 0 :(得分:0)

Opencv框架或其他一些文件未在构建阶段添加。转到项目设置 - &gt;构建阶段 - &gt;将二进制文件与库链接,并检查列表中是否存在opencv。否则单击+并添加它 然后进入构建阶段以编译源代码并确保列表中存在RRMainViewController.m。否则,请单击+并添加

这个答案对您也有帮助:Undefined symbols for architecture i386: _OBJC_CLASS_$_SKPSMTPMessage", referenced from: error