QT5+opencv340+cmake配置

配置参考博客:https://blog.youkuaiyun.com/sinat_36264666/article/details/73200739

出错参考博客:https://blog.youkuaiyun.com/weixin_42005205/article/details/81000017

Qt的版本一定要注意啦,我原来用的是5.11,cmake49的时候就会出一大堆错误,上谷歌看了一下,说是把cmake选项中的with-qt去掉就能编译通过。确实能编译通过,但是在Qt里却引入不了opencv库。所以直接干脆换成了Qt5.8,有了以前的铺垫,再次安装顺利。

运行结果+测试代码:

#include<opencv2/opencv.hpp>
using namespace cv;
int main(){
    Mat image;
    image=imread("D:\\1.jpg");//括号里更改为自己图像的路径
    namedWindow("显示");
    imshow("显示",image);
    waitKey(0);
    return 0;
}

 

### 集成QTOpenCV并使用CMake构建项目的指南 为了实现QtOpenCV的集成并通过CMake构建项目,以下是详细的说明: #### 设置环境变量 在Windows环境下,可以通过命令设置全局环境变量`QTDIR`来指定Qt安装路径。此操作可以确保编译器能够找到Qt库文件的位置[^1]。 ```bash setx -m QTDIR D:/OpenCV/dep/qt/qt-everywhere-opensource-src-4.7.3 ``` 这一步骤对于配置开发环境至关重要,尤其是在手动构建Qt的情况下[^2]。 --- #### 创建CMakeLists.txt文件 创建一个名为`CMakeLists.txt`的文件,并按照以下结构编写内容以支持QtOpenCV的集成: ```cmake # 定义最低版本要求 cmake_minimum_required(VERSION 3.10) # 定义项目名称 project(MyProject LANGUAGES CXX) # 查找Qt模块 find_package(Qt5 COMPONENTS Widgets REQUIRED) if(NOT Qt5_FOUND) message(FATAL_ERROR "Qt5 is required but not found.") endif() # 查找OpenCV库 find_package(OpenCV REQUIRED) if(NOT OpenCV_FOUND) message(FATAL_ERROR "OpenCV is required but not found.") endif() # 添加可执行目标 add_executable(${PROJECT_NAME} main.cpp) # 将QtOpenCV链接到目标 target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets ${OpenCV_LIBS} ) # 使用自动MOC处理 set_target_properties(${PROJECT_NAME} PROPERTIES AUTOMOC ON) ``` 上述脚本实现了以下几个功能: - 检查是否存在所需的Qt组件以及OpenCV库。 - 自动将必要的头文件目录添加到编译选项中。 - 启用自动化MOC(Meta Object Compiler)处理以便于Qt信号槽机制的支持。 --- #### 编写源代码 假设有一个简单的程序用于测试集成效果,可以在`main.cpp`中加入如下代码片段: ```cpp #include <QApplication> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> int main(int argc, char *argv[]) { QApplication app(argc, argv); cv::Mat image = cv::imread("example.jpg"); if (image.empty()) { qWarning() << "Failed to load image!"; return -1; } cv::imshow("Image", image); cv::waitKey(0); return app.exec(); } ``` 这段代码展示了如何加载图像数据并显示在一个窗口中,同时利用了Qt的应用框架管理事件循环。 --- #### 构建过程 完成以上步骤之后,在终端运行以下指令即可生成并构建项目: ```bash mkdir build && cd build cmake .. make ./MyProject ``` 如果一切正常,则应该可以看到由OpenCV读取的一张图片被展示出来,而整个应用程序是由Qt驱动的界面控制逻辑所支撑。 --- #### 常见问题排查 1. 如果遇到找不到包的情况,请确认已正确设置了系统的PATH或其他相关环境变量。 2. 对于自定义构建的Qt版本,请验证其动态链接库是否位于标准搜索路径下或者通过额外参数告知CMake具体位置。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值