4
"バスエラー"はしばしばプログラミングエラーです。しかし、私は本当に三行プログラムでこのようなエラーを表示することはできません。(非常に)シンプルなopencvプログラム(Mac OS Xの場合) "bus error"
int main(int argc, char** argv)
{
IplImage *src = cvLoadImage("/tmp/Name.tiff", CV_LOAD_IMAGE_COLOR);
IplImage* res = cvCreateImage(cvSize(2, 2), IPL_DEPTH_8U, 3);
cvSaveImage("/tmp/image.tiff", src);
return 0;
}
私は次のようにコンパイルします。
gcc -I/Library/Frameworks/OpenCV.framework/Versions/A/Headers /usr/local/lib/libopencv_* test.c
実行がバスエラーを与えます。
非常に重要:2行目を削除すると(cvCreateImage
への呼び出し)、問題なく動作します。
私はIplImage *src = cvLoadImage("/tmp/Name.tiff", CV_LOAD_IMAGE_COLOR);
が成功した場合は検証しないopencv 2.3 and MacOs 10.8.5, gcc (i686-apple-darwin9-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5566)
スタックトレースはありますか?また、**はMac OS 10.8.5を使用していません**、それは確かです。 – trojanfoe
サマービルドコマンドラインで試しましたか?(ソースファイルの後ろに '-l'で必要なライブラリを指定していますか?)(あなたが指定したライブラリと一致するヘッダはありますか?) – Mat
あなたのコンパイラ呼び出しが奇妙です。代わりに '-f'(ramework)オプションを指定してgccを呼び出すのはなぜでしょうか?フレームワーク内のパスとライブラリを正確に扱うようにしました – sansuiso