2012-01-07 13 views
3

Ubuntu 11.04でOpen CVが動作するライブラリをインストールしようとしています。ffmpegでOpen-CVをインストールする際にエラーが発生する

InstallationGuideに記載されているすべての指示に従っています。

は、しかし、成功してインストールした後に私は私の構成でファイルFFMPEGが無効になっていたので、私はないFFMPEGサポートを持っていたことに気づい:

Video I/O: 
--  DC1394 1.x:     NO 
--  DC1394 2.x:     YES 
--  FFMPEG:      NO 
--  codec:     YES 
--  format:     YES 
--  util:      YES 
--  swscale:     NO 
--  gentoo-style:    YES 
--  GStreamer:     YES 
--  UniCap:      NO 
--  PvAPI:      NO 
--  V4L/V4L2:     Using libv4l 
--  Xine:      NO 

だから私はdecribed hereとしてFFMEPGをインストールした後、すべてを再構築しようとしました。

Linking CXX executable ../../bin/opencv_test_calib3d 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis_headerout' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_out_samplerate' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_disable_reservoir' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_encode_buffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaUnmapBuffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaDestroyBuffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_comment_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_param_default' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_param_apply_profile' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_brate' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_headers' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncGetCurrentConfiguration' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis_blockout' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_info_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis_buffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_comment_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaCreateBuffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_bWriteVbrTag' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncSetConfiguration' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_ctl' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `D_IF_decode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncGetDecoderSpecificInfo' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_block_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_close' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_encode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_VBR' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Encoder_Interface_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_get_framesize' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncOpen' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_packetout' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_quality' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Decoder_Interface_exit' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_alloc' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_encode_setup_vbr' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_info_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_in_samplerate' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_reconfig' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_param_apply_fastfirstpass' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_VBR_quality' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_mode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `D_IF_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_set_num_channels' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncEncode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_encode_setup_managed' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Encoder_Interface_exit' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Decoder_Interface_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaRenderPicture' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_encode_ctl' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_info_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_delayed_frames' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_param_parse' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_free' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `D_IF_exit' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_dsp_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Decoder_Interface_Decode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaMapBuffer' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_block_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_bit_depth' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_picture_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_close' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_encoder_open_120' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `faacEncClose' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaEndPicture' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_encode_flush' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_encode_buffer_interleaved' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_comment_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_comment_clear' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_init_params' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `x264_param_default_preset' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_encode_setup_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_bitrate_addblock' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_comment_add_tag' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_flushheader' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `lame_encode_buffer_int' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `th_encode_ycbcr_in' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_bitrate_flushpacket' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_analysis_wrote' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vorbis_info_init' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `Encoder_Interface_Encode' 
../../lib/libopencv_highgui.so.2.3.1: undefined reference to `vaBeginPicture' 
collect2: ld returned 1 exit status 
:これはエラーが出て、コンパイルの時点で

make[2]: *** [bin/opencv_test_calib3d] Error 1 
make[1]: *** [modules/calib3d/CMakeFiles/opencv_test_calib3d.dir/all] Error 2 
make: *** [all] Error 2 

命令

cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON ../OpenCV-2.3.1 

でインストールを設定した後、私はこのエラーを取得してmakeコマンドを実行しました

誰でもインストールの問題点を教えてください。 ss私は次の?

なぜこのライブラリのレファレンスエラーですか?

答えて

8

これらのエラーはリンケージプロセスによるもので、システム上にライブラリがいくつか不足しているか、ビルドプロセスで検索されていない場所にあることがよくあります。

私はこれらの記号を使用して、インストールする必要があるパッケージが何であるかを知ることをお勧めします。

EDIT:

我々はプライベートで持っていたチャットを要約すると、主な問題は、x264のは、静的に構築されていたということでした。 ライブラリの共有バージョンを--enable-sharedにすることは不可欠です。 OPはすべての構成オプションに--prefix=/usr/localを追加することを推奨しています。

+0

グーグルが大した助けにならなかった、別のリンクエラーが見つかりましたが、別の問題(https://code.ros.org/trac/opencv/ticket/1077)が原因です。なぜビルドプロセスが探しているライブラリを見つけられないのか理解できますか?いくつかの環境変数を更新する必要がありますか?他のアイデア?たくさんのこと! – Matteo

+0

私がインストールしたx264とffmpegライブラリのパスを指定するには、 '/ etc/ld.so.conf.d'にファイルを追加するべきでしょうか? – Matteo

+0

ffmpegをインストールした後に** cmake **を実行すると、実際にffmpegが見つかったという出力テキストを見ることができましたか?また、Googleでのクイック検索では、これらのシンボルの一部が** libmp3lame0 **パッケージに含まれていることが明らかになりました。 – karlphillip

関連する問題