コンパイラのOpenCV2.4.9バージョン

コンパイラディレクティブ

ライブラリのディレクトリを作成します。mkdirをインストール

ビルドディレクトリを作成します。mkdirビルドを

ディレクトリを入力します。cdビルド

実行は、Makefileを生成しました:


cmakeの-D WITH_CUDA = OFF \
            -D CMAKE_BUILD_TYPE =リリース\
            \ OFF -D CMAKE_INSTALL_PREFIX = cmakeの-D WITH_CUDA =
            -D CMAKE_BUILD_TYPE =リリース\
            -D CMAKE_INSTALL_PREFIX = /ホーム/パッケージ/ OpenCVの/ \インストール
            -D WITH_IPP = OFFを\
            - D WITH_FFMPEG = ON \
            -D BUILD_TESTS = OFF \
            -D BUILD_PERF_TESTS = OFF \
            -D INSTALL_PYTHON_EXAMPLES = OFF \
            -D INSTALL_C_EXAMPLES = OFF \
            -D PYTHON_EXECUTABLE = $(これはPython)\
            -D BUILD_EXAMPLES = OFF .. \
            -D WITH_IPP = OFF \
            -D WITH_FFMPEG = ON \
            -D BUILD_TESTS = OFF \
            -D BUILD_PERF_TESTS = OFF \
            -D INSTALL_PYTHON_EXAMPLES = OFF \
            -D INSTALL_C_EXAMPLES = OFF \
            -D PYTHON_EXECUTABLE = $(これのpython)\
            -D BUILD_EXAMPLES = OFF ..


生成インストール:メイク&& make installを


異常なコンパイル

1)[98%]リンクCXX実行../../bin/opencv_performanceの
../../lib/libopencv_highgui.so.2.4.9: `avcodec_alloc_frame」への未定義参照
../../lib/libopencv_highgui。 so.2.4.9: `avcodec_encode_videoに未定義の参照」
:エラー:collect2はldは1つの終了ステータスを返した
アプリ/ haartraining / CMakeFiles / opencv_performance.dir / build.make:105:レシピ対象のための'ビン/ opencv_performance'失敗
メイク[2] :*** [ビン/ opencv_performance]エラー1
CMakeFiles / Makefile2:3388:ターゲットのためのレシピは、 'アプリケーション/ haartraining / CMakeFiles / opencv_performance.dir /すべての'失敗した
メイク[1]:*** [アプリケーション/ haartraining / CMakeFiles / opencv_performance .DIR /すべて]エラー2
のMakefile:149:ターゲットのためのレシピ'すべて'失敗した
メイク:*** [すべて]エラー2

问题:`avcodec_alloc_frame」への未定義参照

-Rはgrepによる「avcodec_alloc_frame」/空のグローバルテキストクエリが返します

FFmpegは、最新バージョンのコンパイルのffmpeg-2.3.tar.bz2にソースコードをダウンロードし、関数の名前が変更された実現

2)コンパイルされたのffmpeg-2.3.tar.bz2、生成libswresample.so.0、見つからないlibswresample.so.0コピー/ lib64のディレクトリまで

/ usr / binに/ LD:警告:libswresample.so.0、//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec.so.55により必要は、-rpathまたは-rpath-を使用してみてください(見つかりませんリンク)
//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec.so.55:LIBSWRESAMPLE_0' @ swr_init `への未定義参照
//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec。 so.55:LIBSWRESAMPLE_0' @ swr_close `への未定義参照
//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec.so.55:` LIBSWRESAMPLE_0' @ swr_is_initializedへの未定義参照
//ホーム/ドン/ ffmpegの/ ffmpegの-2.3 /ビルド/ libに/ libavcodec.so.55: `swr_free @ LIBSWRESAMPLE_0'への未定義参照
//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec.so.55:swr_alloc`への未定義参照@ LIBSWRESAMPLE_0'
//home/dong/ffmpeg/ffmpeg-2.3/build/lib/libavcodec.so.55:LIBSWRESAMPLE_0' @ swr_convert `未定義の参照
エラー:collect2はldは1つの終了ステータスが返され
たアプリ/ haartraining / CMakeFiles / opencv_performance.dir /ビルド.make:105:レシピの目標のための'ビン/ opencv_performance'失敗
メイク[2]:*** [ビン/ opencv_performance]エラー1
CMakeFiles / Makefile2:3388:「アプリケーション/ haartraining / CMakeFiles / opencv_performance.dir /すべてのターゲットのためのレシピ「失敗した
メイク[1]:*** [アプリケーション/ haartraining / CMakeFiles / opencv_performance.dir /すべて]エラー2
のMakefile:149:ターゲットのためのレシピ'すべて'失敗した
メイク:*** [すべて]エラー

3)輸出PKG_CONFIG_PATH = /ホーム/洞/ OpenCVの-2.4.9 /インストール/ libに/ pkgconfig /; $ PKG_CONFIG_PATH

指定FFmpegは、FFmpegのライブラリシステムではなく、コンパイル済みの最初の検索OpenCVの

おすすめ

転載: blog.51cto.com/fengyuzaitu/2465842