|||
RTKLIB2.4.3 P31版具有qt图形编程的版本(下载链接https://github.com/tomojitakasu/RTKLIB/tree/rtklib_2.4.3)
在mac或者linux平台下,终于可以使用rtkplot了。下面详述如何在mac或者linux下面编译rtkplot_qt。以Mac为例。
首先确认系统中是否安装了Qt,在shell中输入which qmake,如果没有输出,就是没有安装。使用下面的命令安装(linux下可能是别的命令,如Ubuntu下面是get-apt install 等):
brew install qt
注:如果没有brew命令,说明你没有安装homebrew,可以使用下面的语句安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
或者去官网按照指示安装 ,地址:https://brew.sh/
然后找到RTKLIB下面的app/rtkplot_qt文件夹下面,在shell中输入:qmake rtkplot_qt.pro && make
你会发现以下问题:
1)会在postmain.cpp, postcmn.cpp 等文件中报错,如:
�postmain.cpp:177:15: error: use of undeclared identifier 'LC_NUMERIC'
这个问题很容易解决,到报错的文件头部添加 #include <locale.h> 即可。
解决完这个问题,再用make编译,会出现下面的问题。
2)会出现函数不能链接的问题,如:
"_time2doy", referenced from:
TimeDialog::showEvent(QShowEvent*) in timedlg.o
这个问题的原因是有些c文件没有编译,而timedlg文件中的某些函数又需要用到未编译文件中的函数。解决办法:
打开rtkplot_qt.pro文件,在SOURCEs += \ 下面加入所有RTKLIB/src 以及RTKLIB/src/rcv文件夹下面的c文件;在HEADERS += \ 下面加入RTKLIB/src/rtklib.h文件。如下所示(红色加粗行为加入的代码):
SOURCES += \
../appcmn_qt/aboutdlg.cpp \
conndlg.cpp \
geview.cpp \
mapdlg.cpp \
plotcmn.cpp \
plotdata.cpp \
plotdraw.cpp \
plotinfo.cpp \
plotmain.cpp \
plotopt.cpp \
pntdlg.cpp \
rtkplot.cpp \
satdlg.cpp \
skydlg.cpp \
../../src/rtkcmn.c \
../../src/rinex.c \
../../src/tle.c \
../../src/solution.c \
../../src/lambda.c \
../../src/geoid.c \
../../src/sbas.c \
../../src/preceph.c \
../../src/pntpos.c \
../../src/ephemeris.c \
../../src/options.c \
../../src/stream.c \
../../src/streamsvr.c \
../../src/rcvraw.c \
../../src/rcv/binex.c \
../../src/rcv/crescent.c \
../../src/rcv/ublox.c \
../../src/rcv/skytraq.c \
../../src/rcv/nvs.c \
../../src/rcv/gw10.c \
../../src/rcv/novatel.c \
../../src/rcv/rcvlex.c \
../../src/rcv/septentrio.c \
../../src/rcv/ss2.c \
../../src/rcv/javad.c \
../../src/rcv/rt17.c \
../../src/rcv/tersus.c \
../../src/rcv/cmr.c \
../../src/convrnx.c \
../../src/rtcm.c \
../../src/gis.c \
../../src/rtcm2.c \
../../src/rtcm3.c \
../../src/rtcm3e.c \
../../src/ionex.c \
../../src/qzslex.c \
../appcmn_qt/refdlg.cpp \
../appcmn_qt/viewer.cpp \
../appcmn_qt/vieweropt.cpp \
../appcmn_qt/cmdoptdlg.cpp \
../appcmn_qt/fileoptdlg.cpp \
../appcmn_qt/serioptdlg.cpp \
../appcmn_qt/tcpoptdlg.cpp \
../appcmn_qt/keydlg.cpp \
../appcmn_qt/graph.cpp \
../appcmn_qt/console.cpp \
../appcmn_qt/tspandlg.cpp \
fileseldlg.cpp \
../appcmn_qt/gmview.cpp \
vmapdlg.cpp
HEADERS += \
../appcmn_qt/aboutdlg.h \
conndlg.h \
geview.h \
mapdlg.h \
plotmain.h \
plotopt.h \
pntdlg.h \
satdlg.h \
skydlg.h \
../../src/rtklib.h \
../appcmn_qt/refdlg.h \
../appcmn_qt/viewer.h \
../appcmn_qt/vieweropt.h \
../appcmn_qt/cmdoptdlg.h \
../appcmn_qt/fileoptdlg.h \
../appcmn_qt/serioptdlg.h \
../appcmn_qt/tcpoptdlg.h \
../appcmn_qt/keydlg.h \
../appcmn_qt/graph.h \
../appcmn_qt/console.h \
../appcmn_qt/tspandlg.h \
fileseldlg.h \
../appcmn_qt/gmview.h \
vmapdlg.h
再运行qmake rtkplot_qt.pro && make即可。然后再文件夹中找到rtkplot_qt文件,双击运行即可。
图片效果不如windows下面的效果好,但是能用,解决了基本问题。
Archiver|手机版|科学网 ( 京ICP备07017567号-12 )
GMT+8, 2024-9-25 14:42
Powered by ScienceNet.cn
Copyright © 2007- 中国科学报社