RTKLIB Ver2.4.3在VS版本配置过程中出现的问题及其解决步骤

本文基于Github上RTKLIB的最新代码版本2.4.3在VS2015平台下进行配置中出现的问题作出解决,因为实际中碰到的问题是使用RTKNAVI或者RTKPOST测试单频RTK时加入BDS模糊度固定解效果不理想,所以想使用RTKLIB建立后处理平台分析一下。对配置过程中出现的问题Bing了一下,发现90+%博文都是瞎扯,没有对问题做任何解决。因此,对其中出现的所有问题做一个总结是很有必要的。

关于RTKLIB的介绍就不赘言了,Github的代码链接,传送地址

问题1、不能分配常量大小为0的数组,prn未知的大小。
原因分析:根据提示,“数组的大小必须大于零”,是由于宏MAXPRNGLO为零导致的,宏上转到定义是在rtklib.h头文件中,ENAGLO宏未定义导致的。
解决步骤:在rtklib.h中定义宏#define ENAGLO,或者是在rinex.c文件中的outrnxobsh(line 1909)函数中用到prn数组地方全部使用#ifdef ENAGLO #endif

问题2、会出现无法解析的外部符号_showmsg、_settspan、_settime等
原因分析:是由于WIN_DLL宏未定义导致的
解决步骤:在rtklib.h中定义宏#define WIN_DLL

问题3、会出现无法解析外部符号_pppcorr_read
、_pppcorr_trop、_pppcorr_stec、_tidedisp等问题,错误代码LNK2019。

原因分析:是由于这几个函数在头文件中只有函数说明却没有函数实现
解决步骤:可以根据ppp_ar.c文件中的ppp_ar函数实现,对出现问题的几个函数进行return,这几个函数的实现可以放在ppp.c中实现。

最后,生成解决方案,问题解决。其中,可以将app/rnx2rtkp/rnx2rtkp.c添加到项目源文件中,修改为main函数,从此处开始调试。

猜你喜欢

转载自blog.csdn.net/weixin_43074576/article/details/105638436