我正在为ios学习opencv。在我从github.com/macmade下载示例代码后,我编译并运行该程序,一切正常。但是,当我添加一些opencv代码时,如下:
IplImage* img = 0;
int height,width,step,channels;
uchar* data;
int hIndex,wIndex,cIndex;
img = cvLoadImage("tapme.png",CV_LOAD_IMAGE_COLOR);
if (!img) {
NSLog(@"img cannot load");
return;
}
height = img->height;
width = img->width;
step = img->widthStep;
channels = img->nChannels;
data = (uchar*)img->imageData;
NSLog(@"%d:%d:%d:%d",height,width,step,channels);
然后我再次编译程序,一切都还可以。但是当链接时发生错误:
Undefined symbols for architecture i386:
"_cvLoadImage", referenced from:
-[MainViewController showPic:] in MainViewController.o
我在stackoverflow中尝试了几乎所有方法,但结果仍然不太好。任何人都有一个好主意来修复错误,等待你的帮助,谢谢你。
答案 0 :(得分:1)
当您为模拟器构建时,链接器将需要一个用于i386体系结构的库。在为设备构建时,链接器将需要一个用于arm架构的库。您的模拟器构建设置是否指向正确的库?