0

Windows7を実行しているDellXPSM1530を使用しています。仮想ボックスをインストールし、ubuntu12.04インストールを作成しました。次に、ここで説明するようにopenCVをインストールしました。これはここでの指示と非常に似ているように見えますが、2番目のリンクで説明されているようにテストプログラムimage-conversion.cでg ++を実行しようとすると、次の出力が得られます。

jonathan@jonathan-VirtualBox:~/test$ g++ `pkg-config opencv --cflags --libs` image-conversion.c -o image-conversion
/tmp/ccoPBxUv.o: In function `main':
image-conversion.c:(.text+0x1d): undefined reference to `cvLoadImage'
image-conversion.c:(.text+0x41): undefined reference to `cvSaveImage'
image-conversion.c:(.text+0x4d): undefined reference to `cvReleaseImage'
collect2: ld returned 1 exit status

ただし、最初のリンクで提供されているテストプログラムを使用すると、すべてが完全に機能します。だから私の質問は、インストールプロセスについて、またはおそらく2番目のリンクで例が機能しないようにしているコンパイルプロセスで何を理解していないのかということです。

4

1 に答える 1

1

エラーはリンク エラーのようです。私の推測では、g++ がライブラリを見つけられません。libopencv.so へのパスを LD_LIBRARY_PATH に追加してみてください。また、opencv のバージョンが例と一致していることを確認してください。これら 3 つの関数は、古い c スタイルのインターフェイスです。コマンドラインで「pkg-config opencv --cflags --libs」を実行することもできます。これにより、それが展開され、これらのものを探している場所がわかります。その後、grep して、一致するかどうかを確認できます。#include opencv2/highgui.hpp などが必要な場合もあります。また、「g++ -v」が役立つ場合もあります。ストレートに答えられなくてごめんね、グッドラック。

于 2012-07-12T23:10:56.647 に答える