没有为架构i386找到关于opencv的符号

时间:2011-10-23 12:22:17

标签: ios architecture opencv i386

我正在为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中尝试了几乎所有方法,但结果仍然不太好。任何人都有一个好主意来修复错误,等待你的帮助,谢谢你。

1 个答案:

答案 0 :(得分:1)

当您为模拟器构建时,链接器将需要一个用于i386体系结构的库。在为设备构建时,链接器将需要一个用于arm架构的库。您的模拟器构建设置是否指向正确的库?