OpenCV2.4.9版本编译

1) linux查看opencv安装路径及版本号
查看linux下的opencv安装库:
pkg-config opencv——libs
查看linux下的opencv安装版本:
pkg-config opencv——modversion
查看linux下的opencv安装路径:
查找/- iname“* opencv *”



2)编译指令

创建库目录:mkdir安装

创建生成目录:mkdir构建

进入目录:cd构建

执行生成Makefile:


cmake - d WITH_CUDA=从\
- d CMAKE_BUILD_TYPE=释放\
- d CMAKE_INSTALL_PREFIX=cmake - d WITH_CUDA=从\
- d CMAKE_BUILD_TYPE=释放\
- d CMAKE_INSTALL_PREFIX=/home/包/opencv/安装\
- d WITH_IPP=从\
- d WITH_FFMPEG=\
- d BUILD_TESTS=关闭\
- d BUILD_PERF_TESTS=掉\
- d INSTALL_PYTHON_EXAMPLES=从\
- d INSTALL_C_EXAMPLES=从\
- d PYTHON_EXECUTABLE=$ (python) \
- d BUILD_EXAMPLES=了. .\
- d WITH_IPP=从\
- d WITH_FFMPEG=\
- d BUILD_TESTS=关闭\
- d BUILD_PERF_TESTS=掉\
- d INSTALL_PYTHON_EXAMPLES=从\
- d INSTALL_C_EXAMPLES=从\
- d PYTHON_EXECUTABLE=$ (python) \
- d BUILD_EXAMPLES=了. .


生成安装:做,,使安装


编译异常

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/构建。:105:配方为目标的bin/opencv_performance失败
[2]: * * * (bin/opencv_performance)错误1
CMakeFiles/Makefile2:3388:配方为目标的应用程序/haartraining/CMakeFiles/opencv_performance。dir/所有的失败
[1]: * * *(应用程序/haartraining CMakeFiles/opencv_performance。dir/所有)错误2
Makefile: 149:配方为目标的所有失败
: * * *[所有]错误2

问题:

"/查询全局文本返回空

最新版本的FFmpeg该函数的实现名称已经改变,下载ffmpeg-2.3.tar。bz2源获取码编译

2)已经编译,生成拷贝到/lib64目录下

/usr/bin/ld:警告:libswresample.so。0,所需的//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55岁,未找到(尝试使用rpath或-rpath-link)
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_init@LIBSWRESAMPLE_0”
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_close@LIBSWRESAMPLE_0”
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_is_initialized@LIBSWRESAMPLE_0”
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_free@LIBSWRESAMPLE_0”
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_alloc@LIBSWRESAMPLE_0”
//home/东/ffmpeg/ffmpeg - 2.3/构建/lib/libavcodec.so。55:未定义的参考“swr_convert@LIBSWRESAMPLE_0”
collect2:错误:ld返回1退出状态
应用程序/haartraining CMakeFiles/opencv_performance.dir/构建。:105:配方为目标的bin/opencv_performance失败
[2]: * * * (bin/opencv_performance)错误1
CMakeFiles/Makefile2:3388:配方为目标的应用程序/haartraining/CMakeFiles/opencv_performance。dir/所有的失败
[1]: * * *(应用程序/haartraining CMakeFiles/opencv_performance。dir/所有)错误2
Makefile: 149:配方为目标的所有失败
: * * *(所有)误差

3)出口PKG_CONFIG_PATH=/home/东/opencv-2.4.9/安装/lib/pkgconfig;美元PKG_CONFIG_PATH

指定OpenCV优先查找编译好的FFmpeg,而不是系统的FFmpeg库

OpenCV2.4.9版本编译