2011-09-09 14 views
-1

xcodeに問題があり、エラーが表示されます。 しかし、それは成功ですが、私はこれらのエラーを表示します Theard 2:プログラム受信信号: "SIGABRT"。これらの文xcodeの問題

CvHaarClassifierCascade *カスケード=(CvHaarClassifierCascade *)cvLoadで([パスcStringUsingEncoding:NSASCIIStringEncoding]、NULL、NULL、NULL);事前に

THANK

// Load XML 
NSString *path = [[NSBundle mainBundle] pathForResource:@"haarcascade_frontalface_default" ofType:@"xml"];//@"haarcascade_frontalface_default" ofType:@"xml"]; 
CvHaarClassifierCascade* cascade = (CvHaarClassifierCascade*)cvLoad([path cStringUsingEncoding:NSASCIIStringEncoding], NULL, NULL, NULL); // <-- here 
CvMemStorage* storage = cvCreateMemStorage(0); 
+1

cvLoadは何を行いますか?pathの値は何ですか? – Mark

答えて

0

SIGABRTは、一般的に、例外がスローされたことを意味します。あなたのログを読む。おそらく例外が何であるか教えてくれるでしょう。

パスにcStringUsingEncoding:を使用しないでください。 [path UTF8String]を使用してください。 MacとiOSはUTF-8を使っています。 ASCIIはますます稀です。多くの場合で同等であるが、すべてではない。

pathnilではないことを確認してください。ファイル名を誤って入力した場合、pathはゼロになり、その場合はcvLoadがクラッシュする可能性があります。

+0

私はcStringUsingEncoding:to UTF8Stringに変更しました。 – user866611

+0

私はcStringUsingEncoding:to UTF8Stringに変更しました。私はまだこの問題を抱えています。 "Theard 2:プログラム受信信号:" SIGABRT "" または私は変更部分に対して間違っていました。 CvHaarClassifierCascade * cascade =(CvHaarClassifierCascade *)cvLoad([パスUTF8String]、NULL、NULL、NULL); ありがとうございます。 – user866611

+0

ログを再読み込みしてください。一般に、SIGABRTの前にはエラーメッセージがあります。 –