1.使用CMake生成makefile
为什么使用CMake
?
所有的跨平台开源框架都需要使用编译工具,特别是linux平台编译程序需要makefile
文件,makefile来告诉编译器如何对大量的源代码文件进行先后顺序的编译。但是开源框架源代码太多了,我们不可能手工去编写makefile,所以需要有专门的软件帮我们扫描源代码并自动生成makefile文件。这种工具有很多种,这里使用比较有名的同时也是opencv推荐的工具——CMake。
使用CMake生成makefile,要指定编译器,我们这里使用安装qt时自带的编译器minGW
,分别选择qt安装路径里的gcc.exe
,g++.exe
,ld.exe
。
然后它就开始编译了,这个要等一会儿,等到结束时,上面没有红色的报错就可以点Generate,生成makefile文件了。
去掉BUILD_opencv_python3
选项
2.
windows:
我用的是Qt的make命令,这里打开Qt Command Prompt
,cd
到生成的目标目录下,执行mingw32-make
,等一些些些些时间,再输入make
命令就是下面这样了。
它会把所以dll
(windows)整合成一个文件,程序只要包含一个lib
就行了
linux:
勾选BUILD_opencv_world
,再:
make
make install
它会把所以so
(linux)全部整合成一个文件,程序只要包含一个lib
就行了
/usr/local/lib
目录下生产libopencv_world.3.4.1.so
修改/etc/ld.so.conf
,这个文件时linux加载.so
目录的文件,系统启动的时候会把文件下的.so
读取进来,再:
ldconfig
让设置生效
make
make install
3.开发环境搭建:
windows:
X86是编译好的x86平台版本
编译最终结果是dll文件和库文件
1.把编译好的opencv的 x86/bin
目录下的所有dll
文件拷贝到 C:\windows\SYSWOW64
目录下
2..pro
加路径(这里是我自己设置的存放的路径)
INCLUDEPATH += E:/opencv_3.4.2_Qt/include
LIBS += E:/opencv_3.4.2_Qt/x86/bin/libopencv_*.dll
linux:
INCLUDEPATH += /usr/local/include
LIBS += /opt/opencv_3.4.1_build/lib/libopencv_world.so