Ubuntu 12.04 (Precise Pangolin)でBeagleBone Blackを使用しています。次のコマンドを使用して、apt からOpenCVライブラリをダウンロードしました。
sudo apt-get install -y libopencv-dev
このコマンドにより、必要なヘッダーとライブラリがインストールされました。次に、次のコマンドでウィンドウを表示するだけの独自のプログラムをコンパイルしました。
gcc -I/usr/inlcude/ -I/usr/include/opencv2/ -L/usr/lib/ -lopencv_core -lopencv_highgui -lm opencv_test.c -o test
数秒後、「lrint」などの参照が見つからないことが示され、最後に cvNameWindow、cvShowImage などのリンク エラーが表示されます。
これは、インストールされているライブラリの問題である可能性があると思います。-DUSE_NEON=ON
最新の OpenCV ソースをダウンロードし、OpenCV wiki で提供されているコードをUbuntu マシンのフラグ付きでクロスコンパイルしました。これらのヘッダーとライブラリを、ext4フォーマットの追加パーティションにコピーしました。再度、次のコマンドを発行しました。
gcc -I/usr/inlcude/ -I/media/misc/opencv/include/opencv/ -I/media/misc/opencv/include/ -L/usr/lib/ -L/media/misc/opencv/lib/ -lopencv_core -lopencv_highgui -lm opencv_test.c -o test
注: /media/misc/ は追加のパーティションです。
このコマンドにより、前と同じ出力が得られます。今、私は要点に来ました。正しいコマンドを発行していない可能性があります。
また、gcc を g++ に変更したところ、次のようなエラーが表示されました。
unable to find reference cvNamedWindow
unable to find reference cvShowImage
等