qt5+opencv3 程序调试问题

刚开始用qt,安装qt和配置opencv网上教程丰富就不提类了。

其实opencv直接中终端编译也是可以的,只不过编译命令需要学习一下。

因为QT界面功能强大,故而选择qt,而用此IDE可以更快上手程序。QT常用的编译器就时qmake和cmake,简单来说qmake相对简单一些,可以在.pro文件中直接添加需要的库即可。

另一种cmake编译器,只不过把.pro文件换成CMakeList.txt即可,ROS常用。

第一种编译法成功调试过,但第二天因为ros和anaconda的python版本冲突,几经调试下,为图方便,把anaconda卸载类,后面qt中qmake kit套件就需要更新,这里强烈建议如果暂时不搞深度学习,不要先装anaconda,很多软件版本不匹配导致自己额外的调试修改。

qmake kit修改https://blog.csdn.net/yangbingzhou/article/details/31008527

修改完之后,可能会出现引用库问题  error while loading shared libraries: libjpeg.so9:

error while loading shared libraries: libjpeg.so16:

后续/usr/bin/ld: warning: libicui18n.so.56, needed by //opt/Qt5.10.0/5.10.0/gcc_64/lib/libQt5Core.so.5, not found问题

参考https://blog.csdn.net/qq_25738937/article/details/81837735

虽然为这调试半天还是有问题,为此为选择新建cmake的opencv程序,这个源程序可能没有多少变化,但是CMakeList.txt需要编写

cmake_minimum_required(VERSION 2.8)

project(usb_calibration_cmake)
add_executable(${PROJECT_NAME} "main.cpp")

if( CMAKE_BUILD_TYPE STREQUAL "Release")
 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -std=c++11 -fPIC")
else()
 SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0 -std=c++11 -fPIC")
 #设置寻找外部库的cmake参数的
endif()
message("*** ${PROJECT_NAME}: Build type:" ${CMAKE_BUILD_TYPE} ${CMAKE_CXX_FLAGS} "***")
#设置cmake位置,
set( CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmakes)
#设置opencv的位置
set(OpenCV_DIR /home/fang/opencv-3.4.5/build)
find_package(OpenCV REQUIRED)
find_package(Qt5 REQUIRED COMPONENTS Core Widgets)  #忘记添加qtcore头文件会报错

 #-------------------------------------- 包含头文件 --------------------------------------
 include_directories(${OpenCV_INCLUDE_DIRS})#设置opencv头文件包含路径,类似vs中的include路径
 include_directories(${Qt5Widgets_INCLUDE_DIRS})  #用于qt套件
 include_directories(${Boost_INCLUDE_DIRS})
 include_directories(${CMAKE_CURRENT_SOURCE_DIR}/include)


 #-------------------------------------- -添加项目- --------------------------------------
 #file(GLOB_RECURSE HEADER_FILES ${CMAKE_CURRENT_SOURCE_DIR}/include/*.*h)可以用来添加头文件和源文件
 #file(GLOB_RECURSE SOURCE_FILES ${CMAKE_CURRENT_SOURCE_DIR}/src/*.c*)

 #-------------------------------------- -添加链接库- --------------------------------------
 TARGET_LINK_LIBRARIES(${PROJECT_NAME} ${OpenCV_LIBS} ${QT_LIBRARIES}   #记得加上这些qt库
${Qt5Widgets_LIBRARIES} ${Boost_LIBRARIES} )

如果没有添加qt库和包,qt的头文件无法include,且cout都会声明没有定义的错误

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值