网站建设涉及的标准,有网址如何做网站赚钱,网站向哪里备案,asp.net做购物网站说明
我在windows下使用QT Creator12创建的CMake项目#xff0c;需要OpenCV的一些功能。由于安装的时候我选择的QT组件都是MInGW的#xff0c;所以无法使用VS studio版本的dll库。
为什么vs的版本不能用
我安装QT选择的是MinGW版本#xff0c;本地编译QT工程只能选择MinG…说明
我在windows下使用QT Creator12创建的CMake项目需要OpenCV的一些功能。由于安装的时候我选择的QT组件都是MInGW的所以无法使用VS studio版本的dll库。
为什么vs的版本不能用
我安装QT选择的是MinGW版本本地编译QT工程只能选择MinGW编译方式。选择vs的两个版本无法构建。 根据参考资料里《mingw如何链接vs方式编译生成的动态库》中的说法vs的c abi是stdcall 而mingw使用的调用方式是cdecl。也就是说两个编译器的c abi不兼容的故而无法识别对方导出的符号完成链接。
我一开始下载的opencv官方预编译的包结果一直显示“error: undefined reference to”这样的错误。后来换了MinGW的Opencv库就可以了。
如何下载MinGW编译的Opencv库
首先可以下代码本地编译如果不想这么麻烦可以从这里下载github-huihut/OpenCV-MinGW-Build
如何将OpenCV集成到Qt的工程
我是在windows下创建的Cmake类型的Qt工程。
添加头文件
解压上面下载的Opencv库的包。将include\opencv2目录复制到自己的QT源码目录下
然后在“Header Files”菜单右击点“Add Existing Directory”, 选择刚刚复制过来的opencv2目录。 然后在CmakeLists.txt中添加opencv2目录的父目录
target_include_directories (TextFinder PRIVATE ./sdk/inc)添加库
在解压opencv后找到x64\mingw\bin目录复制需要的dll模块到自己的工程下如果没有特别需要复制三个最常用的就够了。我是复制到我的工程下的sdk目录复制后如下 然后在CmakeLists.txt中添加这三个dll的父目录
target_link_directories(TextFinder PRIVATE ./sdk/)VS版本的OpenCV预编译库如何下载
我没用这里仅仅记录下。下载地址在 https://opencv.org/releases/
选择windows版下载
解压开就有一个build目录下面有一个opencv_world490.dll。 这个是包含了所有opencv模块的单一库你需要的就是它。
参考资料Cmake
MinGW编译的Opencv库下载地址github-huihut/OpenCV-MinGW-Build
mingw如何链接vs方式编译生成的动态库
How to setup Qt and openCV on Windows
Windows上Qt配置OpenCV(最简单版本无需自己编译-避坑必看)