2011-10-23 9 views
0

私はgithub.com/macmadeからサンプルコードをダウンロードしてコンパイルしてプログラムを実行すると、すべてがOKです。しかし、私はいくつかのopencvコードを追加すると:アーキテクチャ用のシンボルが見つかりません。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); 

私はもう一度プログラムをコンパイルし、すべてがOKです。しかし、リンク時にエラーが発生した場合:

Undefined symbols for architecture i386: 
"_cvLoadImage", referenced from: 
-[MainViewController showPic:] in MainViewController.o 

私はほとんどすべてのメソッドをstackoverflowで試しましたが、結果はそれほど良くありません。誰でも、バグを修正し、ウルの助けを待って、あなたに感謝する良いアイデアを持っています。

答えて

1

シミュレータ用にビルドする場合、リンカにはi386アーキテクチャ用のライブラリが必要です。デバイス用にビルドする場合、リンカーはアームアーキテクチャ用のライブラリが必要になります。シミュレータビルドの設定が正しいライブラリを指していますか?

+0

URの回答に感謝します。しかし、どのように設定をlibearyに指定できますか?私はXcode4でそれを見つけることができず、私はアーキテクチャを標準のarmv6とarmv7に設定しました –

関連する問題