个人网站做哪些内容,组织建设包括哪些内容,绍兴市住房和城乡建设局官方网站,网站开发所用的技术Windows11OpencvClion编译源码
参考#xff1a;https://www.robotsfan.com/posts/69395e08.html
注意事项
编译过程中使用的软件#xff0c;开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件#xff0c;如果是局域网的话可能下载不下来#xf…Windows11OpencvClion编译源码
参考https://www.robotsfan.com/posts/69395e08.html
注意事项
编译过程中使用的软件开源码等所有工具的安装路径一定不要有中文和空格。cmake过程会下载一些文件如果是局域网的话可能下载不下来可以事先下载好拷贝到相应目录。OpenCV默认会编译很多功能有些功能需要先自己安装依赖包。可以只选择自己需要的OpenCV功能编译将会节省很多时间。
OpenCV源码下载
OpenCV源码地址https://github.com/opencv/opencv.git
这里使用的tag为4.8.0
Cmake安装(cmake-3.25.3-windows-x86_64)
下载地址:https://cmake.org/download/
mingw安装C/C编译器
注意一定要下载x86_64-posix-seh MinGW版本的MinGW否则后面编译会出错下载地址https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-posix/seh/x86_6464位posix 启用C 11 / C11多线程功能。 使libgcc依赖于libwinpthreads所以即使不直接调用pthreads API也会分发winpthreads DLL。 分配一个更多的DLL与您的应用程序没有任何问题。win32 没有C 11多线程功能。sjljsehdwarf都是异常处理模型。sjlj和seh是64位上的处理模型sjlj是 C 标准库就有的东西seh是2014年新发明的seh较新性能较好。dwarf 和 sjlj 是32位上的两种异常处理模型。同样的dwarf 的性能要优于 sjlj 但是它不支持 64位 。所以我选择下载的是x86_64-posix-seh。配置环境变量在系统变量PATH中添加D:\software\mingw64\bin。注意路径不要有中文和空格。
生成opencv的makefile文件 打开cmake-gui 点击Browse Source选择选择 opencv 下的 sources文件夹 点击Browse Build选择选择 opencv 下的 mingw_build文件夹 点击Configure指定编译器 分别选择刚刚下载的posix版本MinGW-W64下的gcc和g 点击Finish等待完成
如遇到一下问题请打开下面的文件
按照日志里的下载地址分别下载这三个文件并放入/source/.cache/ffmpeg中使用certutil -hashfile 文件名 MD5获取每个文件的MD5以MD5-文件名重新命名这三个文件。 回到cmake-gui重新点击Configure若无其他报错则点击Generate生成Makefile文件。
编译 打开命令行进入 mingw-build文件夹使用mingw32-make -j8编译8为核心数请自行调整编译速度大概10分钟左右。 编译成功后使用mingw32-make install命令将编译生成的文件整合到opencv/mingw_build/install目录中
配置环境变量
配置环境变量将opencv/mingw_build/install/x64/mingw/bin加入环境变量中的path中。
在clion项目中使用opencv
新建项目编辑CMakeLists.txt
cmake_minimum_required(VERSION 3.22)
project(my_cv)set(CMAKE_CXX_STANDARD 17)add_executable(my_cv main.cpp)# 设置OpenCV目录
set(OpenCV_DIR D:/Users/opencv48/opencv/mybuild/install)
# 搜索OpenCV目录
find_package(OpenCV REQUIRED)
# 链接OpenCV库文件
target_link_libraries(my_cv ${OpenCV_LIBS})编辑main.cpp
#include iostream
#include opencv2/highgui/highgui.hppusing namespace std;
using namespace cv;int main()
{Mat img imread(D:/workspace/cpp_workspace/my-cv/data/img/lena.jpg);namedWindow(test, WINDOW_AUTOSIZE);imshow(test, img);waitKey();return 0;
}注 cmake版本
C:\Users\zishicmake -version
cmake version 3.25.3CMake suite maintained and supported by Kitware (kitware.com/cmake).g版本
C:\Users\zishig --version
g (x86_64-posix-seh-rev0, Built by MinGW-W64 project) 8.1.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.