4

Linux (ubuntu 10.4) PC に最新の OpenCV バージョン 2.4.2 をインストールしようとしています。

tar ボールをダウンロードしました。un-tar-ed です。続いて、ubuntu 10.04 に opencv をインストールします。

'Make' 中に " Linking CXX executable ../../bin/opencv_perf_core" が赤色になった後にエラーが発生しました。何百万もの警告またはエラー メッセージの後、次のように表示されます。

... ... ...
../../lib/libopencv_ts.so.2.4.2: undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string()'
../../lib/libopencv_ts.so.2.4.2: undefined reference to `typeinfo for int'
collect2: error: ld returned 1 exit status
make[2]: *** [bin/opencv_perf_core] Error 1
make[1]: *** [modules/core/CMakeFiles/opencv_perf_core.dir/all] Error 2
make: *** [all] Error 2

キーワード: 「CXX 実行可能ファイル ../../bin/opencv_perf_core のリンク」を引用符で囲みます。

グーグルで検索したところ、PCにはCUDAドライバーが必要であることがわかりました。今のところ、おそらくそれは必要ありません。

そのドライバーのインストールはここで必要ですか、それとも特定の「make」プロセスをバイパスできますか?

私の目標は、ubuntu でできるだけ早く OpenCV を使い始めることです。これらのビルド プロセスは、openCV 2.4.2 ライブラリを使用して独自の cpp ファイルをコンパイルするために必要ですか? 私は静的または非静的ライブラリに集中していません。

OpenCVをインストールし、インクルードファイルへのパスを設定し、カスタム実行可能ファイルで.dllを保持するだけで、たとえばカメラから画像をキャプチャするだけで、Windowsと同じようにubuntuに取り組んだ人はいますか。

<===更新===>

http://docs.opencv.org/trunk/doc/tutorials/introduction/linux_install/linux_install.htmlに従いました。

Linking CXX 実行可能ファイル ../../bin/opencv_perf_core を渡しました。

現在Linking CXX executable ../../bin/opencv_perf_highgui、次のエラーで立ち往生しています:

/usr/bin/ld: ../../lib/libopencv_highgui.a(cap_libv4l.cpp.o): undefined reference to symbol 'v4l2_close'
/usr/bin/ld: note: 'v4l2_close' is defined in DSO /usr/lib/libv4l2.so.0 so try adding it to the linker command line
/usr/lib/libv4l2.so.0: could not read symbols: Invalid operation
collect2: error: ld returned 1 exit status
make[2]: *** [bin/opencv_perf_highgui] Error 1
make[1]: *** [modules/highgui/CMakeFiles/opencv_perf_highgui.dir/all] Error 2
make: *** [all] Error 2

cmake のパラメータをよく調べる必要があるようです。どんなショートカットも役に立ちます。

4

3 に答える 3

2

OpenCV 2.4.2 をインストールし、それをインストールするスクリプトを作成しました。ここで見つけることができますhttps://github.com/jayrambhia/Install-OpenCV/blob/master/Ubuntu/2.4/opencv2_4_2.sh

または、詳細な手順については、私のブログ投稿をチェックしてください。http://jayrambhia.wordpress.com/2012/06/20/install-opencv-2-4-in-ubuntu-12-04-precise-pangolin/

echo "Installing OpenCV 2.4.2"
mkdir OpenCV
cd OpenCV
echo "Removing any pre-installed ffmpeg and x264"
sudo apt-get remove remove ffmpeg x264 libx264-dev
echo "Installing Dependenices"
sudo apt-get install libopencv-dev
sudo apt-get install build-essential checkinstall cmake pkg-config yasm
sudo apt-get install libtiff4-dev libjpeg-dev libjasper-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libdc1394-22-dev libxine-dev libgstreamer0.10-dev libgstreamer-plugins-base0.10-dev libv4l-dev
sudo apt-get install python-dev python-numpy
sudo apt-get install libtbb-dev
sudo apt-get install libqt4-dev libgtk2.0-dev
echo "Downloading ffmpeg"
wget http://ffmpeg.org/releases/ffmpeg-0.11.1.tar.bz2
echo "Installing ffmpeg"
tar -xvf ffmpeg-0.11.1.tar.bz2
cd ffmpeg-0.11.1/
./configure --enable-gpl --enable-libfaac --enable-libmp3lame --enable-libopencore-amrnb --enable-libopencore-amrwb --enable-libtheora --enable-libvorbis --enable-libx264 --enable-libxvid --enable-nonfree --enable-postproc --enable-version3 --enable-x11grab
make
sudo make install
cd ..
echo "Downloading v4l"
wget http://www.linuxtv.org/downloads/v4l-utils/v4l-utils-0.8.8.tar.bz2
echo "Installing v4l"
tar -xvf v4l-utils-0.8.8.tar.bz2
cd v4l-utils-0.8.8/
make
sudo make install
cd ..
echo "Downloading OpenCV 2.4.2"
wget -O OpenCV-2.4.2.tar.bz2 http://sourceforge.net/projects/opencvlibrary/files/opencv-unix/2.4.2/OpenCV-2.4.2.tar.bz2/download
echo "Installing OpenCV 2.4.2"
tar -xvf OpenCV-2.4.2.tar.bz2
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE ..
make
sudo make install
sudo echo “/usr/local/lib” >> /etc/ld.so.conf
sudo ldconfig
echo "OpenCV 2.4.2 ready to be used"
于 2012-07-12T18:15:45.897 に答える
0

問題がCUDAに関連しているとは確信していませんが、cmakeを構成するときに無効にすることができますWITH_CUDA=OFF

cd OpenCV-2.4.2
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_EXAMPLES=ON -D WITH_CUDA=OFF ..
make 
sudo make install

あなたにとってもう1つの興味深いフラグはBUILD_PYTHON_SUPPORT=ON

編集

どうやら OpenCV 2.4.2 は最新の CMake を使用する必要があるようです。そのため、システムに CMake 2.8.8 をインストールしてください。

于 2012-07-12T16:05:27.490 に答える
0

この問題を解決するには、バイナリをビルドするために設定したディレクトリで、cmake-gui を使用して UNIX メイクファイルを生成した後、CMakeCache.txt に移動し、この行にパスを追加しますlibcuda.soCUDA_CUDA_LIBRARY:FILEPATH=CUDA_CUDA_LIBRARY:FILEPATH=/usr/lib/nvidia-current-updates/libcuda.so

CUDA ツールキットを使用しない場合は、opencv を CUDA=off で cmake するときにこの設定を無効にすることができます。

于 2012-10-22T13:26:33.153 に答える