Debian(ubuntu,raspberrypi)下编译安装rtklib_qt

最新的RTKLIB使用了跨平台的QT作为界面支持,这也就意味着LINUX下也可以使用RTKLIB的界面(虽然wine也是能跑RTKLIB的在win下编译的程序,不过原生总是要支持一下的)。本文主要说说RTKLIB在Debian系下的编译情况。

一、编译环境要求

编译rtklib_qt的的环境要求如下:

1. qt version >= 5.5
2. gcc >= 4.8
3. g++
4. gfortran

所以自然需要首先安装这些环境:

[code lang=bash]
$ sudo apt-get install qt5-default gcc g++ gfortran
[/code]

安装完成后确认一下版本:

[code lang=bash]
$ qmake -v
QMake version 3.0
Using Qt version 5.2.1 in /usr/lib/x86_64-linux-gnu
[/code]

显然,本人的默认的qt版本是偏低,因此某些功能无法安装。

二、编译过程

下载编码,比较新的源码在JensReimann的github上,手动载下载即可。

下载完成之后,解压,然后进入到主目录(RTKLib.pro所在的目录),然后运行:

[code lang=bash]
$ qmake -recursive RTKLib.pro
[/code]

就会在当前目录下生成makefile文件,然后再编译即可。

[code lang=bash]
$ make
[/code]

显然编译过程可能会出现QT库缺少的情况下,这个时候就是缺什么库就安装什么库。这些缺少的库都可以在源里面找到(前提是默认的qt版本没有什么问题)。如出现这样的错误:

[code lang=text]
videoopt.cpp:7:23: fatal error: QCameraInfo: No such file or directory
#include <QCameraInfo>
^
[/code]

显然是缺少QCameraInfo这个qt库了,那就搜索并安装一个就行了。Debian下搜索主要有两种方式:

[code lang=bash]
# 在源库名里面寻找
$ sudo apt-cache search QCameraInfo
# 在源文件中寻找
$ sudo apt-file search QCameraInfo
[/code]

寻找到对应的包之后,只需要安装该包,然后继续执行make,编译会接着继续的。

三、如果Qt版本不够怎么办?

如果qt的版本不够怎么办?能否舍去其中一两个模块进行安装呢?答案是肯定的,毕竟RTKLIB界面之间具有独立性。,其中对版本要求较高的就是RTKVIDEO,如果qt的版本过低的话,这个模块是无法完全编译的。

那么如何将RTKvideo_qt模块去除呢?只需要将在app/app.pro的内容中的rtkvideo_qt这一行去掉即可。(即改成下面这个样子)

[code lang=text]
TEMPLATE = subdirs

SUBDIRS= rtknavi_qt \
rtkget_qt \
rtkplot_qt \
rtklaunch_qt \
srctblbrows_qt \
strsvr_qt \
rtkconv_qt \
rtkvplayer_qt
[/code]

然后重新切到上级目录,再重新运行即可。

[code lang=bash]
$ qmake -recursive RTKLIB.pro
$ make
[/code]

此条目发表在GNSS, LINUX, 软件安装分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据