从github下载opencv最新源码https://github.com/opencv/opencv,目前最新是`5e93c8202363a13fc72df30f8c14069c5ab66e42`.
Ubuntu环境下编译
安装依赖库:
| 1 | sudo apt-get install build-essential | 
Mac环境下编译
进入源码路径,新建一个release的文件夹,并进入,执行:
| 1 | cmake -G "Unix Makefiles" .. | 
编译完成后会在release生成lib目录,lib下存放所有编译成的动态库,可能与ubuntu下编译结果不同,ubuntu下编译只生成libopencv_world.so一个动态库,而mac下会生成opencv_core opencv_highgui opencv_imgproc opencv_ml opencv_objdetect opencv_photo opencv_video opencv_dnn opencv_imgcodecs opencv_shape等多个动态库.执行make install后会将头文件拷贝到/usr/local/include/下,将动态库拷贝到/usr/local/lib/下,将jar包等其他文件拷贝到/usr/local/share/OpenCV/下,makefile脚本加入动态链接库:
| 1 | testopencv:main.cpp | 
main.cpp下输入下面测试代码:
| 1 | #include <opencv2/core.hpp> | 
在生成的执行文件同目录下放入名字为1.png的图片.
配置QT环境
在新建的QT工程中的.pro文件中添加如下配置代码:
| 1 | INCLUDEPATH += /usr/local/include | 
完成以上步骤后按理应该是能成功的,但是运行时发现会出现如下的错误。
| 1 | dyld: Symbol not found: __cg_jpeg_resync_to_restart | 
针对以上问题,在项目-运行配置中,增加变量DYLD_LIBRARY_PATH值为/Application/QT5.7.0/5.7/clang_64/lib:/usr/local/lib
或者: 将“”目录下的对应动态链接库文件创建软连接到“/usr/local/lib”目录下:
| 1 | $ cd /System/Library/Frameworks/ImageIO.framework/Versions/A/Resources | 
qt+opencv常见问题
在Mac上运行以上代码时,提示以下错误:
| 1 | dyld: Symbol not found: __cg_jpeg_resync_to_restart | 
解决办法是将“”目录下的对应动态链接库文件创建软连接到“/usr/local/lib”目录下:
| 1 | $ pwd | 
stackoverflow上面另一种解决方案:
If using Qt Creator, you have to uncheck the Add build library search path to DYLD_LIBRARY_PATH and DYLD_FRAMEWORK_PATH option from the Run section in the Projects tab:

 
          