1. 概述
由于头一次在ubuntu 环境下进行作业,过程较难,查资料什么的令人头疼。因此将查到的资料以及走过的坑记录下来,避免以后出现类似情况。
2. Ubuntu安装
本文所使用的Ubuntu,搭建在VM虚拟机上,基本过程如下
- 安装 虚拟机VMware Workstation 15 Pro
- 下载Ubuntu系统镜像文件
- 按照 教程 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.0,xerces-c-3.2.3,sqlite-autoconf-3320100 以及 opencv-2.4.13.6 等。在编译安装开源库时,按照编译方式可以将开源库分为两类,即含有configure 编译文件的为一类,含有CMakeLists文件的为一类。
- 含有Configure文件的编译方式,如sqlite-autoconf-3320100 所示。
- 含有CMakeLists文件的编译方式,如opencv-2.4.13.6所示。
- 在编译安装完成后,将其配置到自己的项目中,其配置方法如https://blog.csdn.net/wanzhen4330/article/details/82622664#t5 所示。
5. 问题及经验
-
利用opencv 库编写的项目,在编译时出现 libdc1934初始化失败 的问题。 解决该问题,小编主要利用 https://blog.csdn.net/qq_34270554/article/details/105300871 所示的原理,使用编译命令 cmake -D CMAKE_BUILD_TYPE -D WITH_1394=OFF ./ 禁用1394模块的生成。 -
在安装系统时,分配硬盘容量尽可能大些,否则无法在系统中处理大量数据。 -
Opencv并不是一个独立的函数库,它还依赖许多其他的基础库,如dc1934,hdf5等库,且这些库可以利用 apt-get install 进行获得,无需下载外部库。 -
在编译时遇到undefined referenced 错误,可以参考 https://blog.csdn.net/aiwoziji13/article/details/7330333 进行修改,但同时要考虑项目是否有依赖库未调用成功,调用方式是否正确,调用版本是否兼容,ide 平台基础包是否完全安装等问题。 -
以so与a为后缀的文件,分别为动态库以及静态库。在qt项目中引用时,so文件若无法通过 unix:!macx: LIBS += -L/yourpath/ -lyoursoname 进行识别时,可以修改为 unix:!macx: LIBS += -L/yourpath/libyoursoname.so 。 -
Windows 下的 Visual Studio 以及Ubuntu 下的 QT 在写项目时都需要生成 make 文件 从而告诉编译其应按照何种规则,编译项目中的文件。两者不同的时,Windows 将make过程打包封装的较好,并且基础库依赖可以自动生成。而Ubuntu 需要人工添加依赖,并且确定文件之间的调用关系。 因此出现问题时需要 格外注意依赖包是否缺失 。
|