Cmake链接Opencv3.20+QT
最近写一个程序,需要用到QT做UI,用到opencv的图像处理,然后整合成EXE的应用程序。虽然问题看起来很简单,但还是在这个过程中遇到了很多问题,在这里take a note。
- 环境配置
- QT界面的构建
- Cmake链接
环境配置
【1】Visual studio2015 (VS2015);
【2】OpenCV3.2.0;
【3】QT5.9.1;
【4】Cmake3.9.1。
ps : 当然,要用到这些库,我们的电脑必须拥有这些东西。
QT界面的构建
QT界面应该是比较简单的,新建Qt Widgets Application
创建出来的Qt文件如下:
然后把.cpp 和.h文件放入一个文件夹中。
Cmake链接
在刚才的文件夹中建立txt文件。写入:
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically whenneeded
set(CMAKE_AUTOMOC ON)
# #######################################
# Find the QtWidgets library
find_package(Qt5Widgets REQUIRED)
# #######################################
FIND_PACKAGE(OpenCV REQUIRED)
# #######################################
# 【*】链接UI文件
QT5_WRAP_UI(ui_FILES mainwindow.ui
)
# #######################################
#链接 *.CPP文件和 *.h文件
SET (FILE
main.cpp
mainwindow.cpp
)
SET (QT_UI
mainwindow.h
)
# #######################################
ADD_EXECUTABLE(IPR ${FILE} ${QT_UI} ${ui_FILES})
#set(EXECUTABLE_OUTPUT_PATH ${PROJECT_BINARY_DIR}/exe)
set_target_properties(IPR PROPERTIES OUTPUT_NAME "IPR" DEBUG_POSTFIX "d")
qt5_use_modules(IPR Widgets)
# #######################################
# 【*】附加依赖项
TARGET_LINK_LIBRARIES(IPR
# Qt5::Widgets
${Qt5Widgets_LIBRARIES}
${OpenCV_LIBS}
)
完成后打开CMake-gui进行编译界面如下:
经过这些步骤后,Generate 生成项目,进入VS界面,把IPR中的main.cpp设为启动项,就能生成EXE项目,并且可以引用opencv 的库函数。后继,我还为QT的应用和opencv用到的函数集都进行了归纳。