4.11.0
构建教程
下载代码及其组件
opencv_contrib
从github下载 4.11.0 版本
opencv 源代码
从github下载4.11.0版本
构建步骤
CMake Gui下选择VS2022 x64编译器
建立build文件夹并将其指向
构建选项
win
OPENCV_EXTRA_MODULES_PATH: F:/Git/opencv_contrib-4.11.0/modules // 指向opencv_contrib modules
BUILD_opencv_world: ON //该选项将构建一个完整的dll
WITH_VTK: OFF //暂不依赖VTK 根据情况设置
CMAKE_BUILD_TYPE: Debug // 根据需要可切Release
mac
OPENCV_EXTRA_MODULES_PATH: /Users/maoyuzhuo/Documents/opencv/opencv_contrib-4.11.0/modules
BUILD_opencv_world: ON //该选项将构建一个完整的dll
WITH_VTK: OFF //暂不依赖VTK 根据情况设置
CMAKE_BUILD_TYPE: Debug // 根据需要可切Release
CMAKE_INSTALL_PREFIX: /Users/maoyuzhuo/Documents/opencv/build/install
CMAKE_OSX_ARCHITECTURES: arm64
WITH_PROTOBUF: FALSE
BUILD_PROTOBUF: FALSE
Configure
CMake Gui下点击Configure 进入识别
请确保依赖库下载正确及完整,如若下载失败 可重新 Configure
如果下载失败,可通过代理进行下载,开启系统代理,如小飞机,并设置端口用于共享,比如1099端口
http_proxy:socks5://127.0.0.1:1099
https_proxy:socks5://127.0.0.1:1099
重新识别即可
Generate
CMake Gui下点击Generate 进行生成
Build And Install
CMake Gui下点击Open Project 并使用VS2022打开项目
参照如下步骤点击即可,会进行build + install
库形式
拷贝build/install 目录下的文件并组成如下形式即可
include 目录直接复制即可
bin 目录
lib目录
参考CMake
# opencv 引用规则
# 包含以下可用变量
# opencv_INCLUDE_DIRS 头文件目录
# opencv_LIBS LinkTarget
# opencv_DYLIBS 动态库
set(_ROOT "${CMAKE_CURRENT_LIST_DIR}/../modules/opencv")
if(MSVC) # windows
set(opencv_INCLUDE_DIRS "${_ROOT}/include")
set(_LIB_ROOT "${_ROOT}/lib")
set(_BIN_ROOT "${_ROOT}/bin")
# Create imported target opencv_world
add_library(opencv_world SHARED IMPORTED)
set_property(TARGET opencv_world APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE;DEBUG)
set_target_properties(opencv_world PROPERTIES
IMPORTED_IMPLIB_DEBUG "${_LIB_ROOT}/opencv_world4110d.lib"
IMPORTED_IMPLIB_RELEASE "${_LIB_ROOT}/opencv_world4110.lib"
IMPORTED_LOCATION_DEBUG "${_BIN_ROOT}/opencv_world4110d.dll"
IMPORTED_LOCATION_RELEASE "${_BIN_ROOT}/opencv_world4110.dll"
INTERFACE_INCLUDE_DIRECTORIES "${opencv_INCLUDE_DIRS}"
)
# Create imported target opencv_img_hash
add_library(opencv_img_hash SHARED IMPORTED)
set_property(TARGET opencv_img_hash APPEND PROPERTY IMPORTED_CONFIGURATIONS RELEASE;DEBUG)
set_target_properties(opencv_img_hash PROPERTIES
IMPORTED_IMPLIB_DEBUG "${_LIB_ROOT}/opencv_img_hash4110d.lib"
IMPORTED_IMPLIB_RELEASE "${_LIB_ROOT}/opencv_img_hash4110.lib"
IMPORTED_LOCATION_DEBUG "${_BIN_ROOT}/opencv_img_hash4110d.dll"
IMPORTED_LOCATION_RELEASE "${_BIN_ROOT}/opencv_img_hash4110.dll"
INTERFACE_LINK_LIBRARIES "opencv_world;opencv_world"
INTERFACE_INCLUDE_DIRECTORIES "${opencv_INCLUDE_DIRS}"
)
set(opencv_LIBS opencv_world opencv_img_hash)
if (CMAKE_BUILD_TYPE STREQUAL "Debug")
set(opencv_DYLIBS
"${_BIN_ROOT}/opencv_world4110d.dll"
"${_BIN_ROOT}/opencv_img_hash4110d.dll"
)
else ()
set(opencv_DYLIBS
"${_BIN_ROOT}/opencv_world4110.dll"
"${_BIN_ROOT}/opencv_img_hash4110.dll"
)
endif ()
elseif(APPLE)
endif ()