ubuntu中qt配库注意事项及流程

1. 概述

由于头一次在ubuntu 环境下进行作业,过程较难,查资料什么的令人头疼。因此将查到的资料以及走过的坑记录下来,避免以后出现类似情况。

2. Ubuntu安装

本文所使用的Ubuntu,搭建在VM虚拟机上,基本过程如下

  1. 安装 虚拟机VMware Workstation 15 Pro
  2. 下载Ubuntu系统镜像文件
  3. 按照 教程 https://blog.csdn.net/stpeace/article/details/78598333 进行安装。
    • 在到达 【安装客户机操作系统】 的步骤时。 选择 【安装程序光盘映像文件(iso)(M)】 选项。并将ubuntu系统映像文件添加到选项中。
    • 【自定义硬件】 选项中,若计算机支持usb3.0,则更改 【usb控制器】【usb兼容性】usb3.1
      自定义硬件选项卡

3. 安装QT

QT安装,按照 https://blog.csdn.net/anyuliuxing/article/details/90369822?ivk_sa=1024320u 进行安装即可。

4. 开源库配置

由于项目限制,所用开源库分别为 gdal-2.3.0xerces-c-3.2.3sqlite-autoconf-3320100 以及 opencv-2.4.13.6 等。在编译安装开源库时,按照编译方式可以将开源库分为两类,即含有configure 编译文件的为一类,含有CMakeLists文件的为一类。

  1. 含有Configure文件的编译方式,如sqlite-autoconf-3320100 所示。
  2. 含有CMakeLists文件的编译方式,如opencv-2.4.13.6所示。
  3. 在编译安装完成后,将其配置到自己的项目中,其配置方法如https://blog.csdn.net/wanzhen4330/article/details/82622664#t5 所示。

5. 问题及经验

  1. 利用opencv 库编写的项目,在编译时出现 libdc1934初始化失败 的问题。

    解决该问题,小编主要利用 https://blog.csdn.net/qq_34270554/article/details/105300871 所示的原理,使用编译命令 cmake -D CMAKE_BUILD_TYPE -D WITH_1394=OFF ./ 禁用1394模块的生成。

  2. 在安装系统时,分配硬盘容量尽可能大些,否则无法在系统中处理大量数据。

  3. Opencv并不是一个独立的函数库,它还依赖许多其他的基础库,如dc1934hdf5等库,且这些库可以利用 apt-get install 进行获得,无需下载外部库。

  4. 在编译时遇到undefined referenced 错误,可以参考 https://blog.csdn.net/aiwoziji13/article/details/7330333 进行修改,但同时要考虑项目是否有依赖库未调用成功,调用方式是否正确,调用版本是否兼容,ide 平台基础包是否完全安装等问题。

  5. 以so与a为后缀的文件,分别为动态库以及静态库。在qt项目中引用时,so文件若无法通过 unix:!macx: LIBS += -L/yourpath/ -lyoursoname 进行识别时,可以修改为 unix:!macx: LIBS += -L/yourpath/libyoursoname.so

  6. Windows 下的 Visual Studio 以及Ubuntu 下的 QT 在写项目时都需要生成 make 文件 从而告诉编译其应按照何种规则,编译项目中的文件。两者不同的时,Windows 将make过程打包封装的较好,并且基础库依赖可以自动生成。而Ubuntu 需要人工添加依赖,并且确定文件之间的调用关系。 因此出现问题时需要 格外注意依赖包是否缺失

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值