1.源码下载
下载链接:rtklib
注:2.4.2 p13为稳定版本(标识p代表稳定版本),2.4.3 b34为最新实验版本(标识b)。点击2.4.3 b34 的Source Programs and Data 链接下载源码。
2.环境配置
**集成开发环境:**Visual Studio 2022
1.新建c++空白项目
项目路径:E:\My_RTKLIB\My_RTKLIB
2.RTKLIB源码整理
对下载的RTKLIB软件包中需要保留如下内容
- (1)RTKLIB-rtklib_2.4.3\src文件夹
- (2)RTKLIB-rtklib_2.4.3\app\consapp\rnx2rtkp\rnx2rtkp.c
- (3)RTKLIB-rtklib_2.4.3\app\consapp\rtkrcv\conf
对保留数据进行处理
- 将(2)的rnx2rtkp.c文件更名为main.c,移动至RTKLIB-rtklib_2.4.3\src。
- 将(3)的conf文件夹也移动到src。
- 将src内容复制粘贴至项目路径下E:\My_RTKLIB\My_RTKLIB。
-在项目路径新建data文件,放入待处理数据
3.开发环境配置
(1)项目添加头文件
- 右键头文件>>>添加>>>添加现有项>>>选择rtklib.h
(2)头文件修改
//在rtklib.h添加如下内容
#define ENAGLO
#define ENAGAL
#define ENACMP
#define ENAQZS
#define ENAIRN
效果如下:
(3)项目添加源文件
- 右键源文件>>>添加>>>添加现有项>>>选择所有.c文件(选择时可以选择以类型为排序方式然后进行多选)
- 右键源文件>>>添加>>>新建筛选器>>>命名为rcv,然后右键rcv>>>添加>>>添加现有项>>>选择rcv文件夹的所有.c文件
(4)源文件修改
1)ephemeris.c文件,579行。
const sbssatp_t *sbs=NULL;
2)pntpos.c文件,252行。
double dion = 0.0, dtrp = 0.0, vmeas = 0.0, vion = 0.0, vtrp = 0.0;
(5)属性页配置
此时若直接运行会报如下错误:
在代码页显示如下:
1)解决:右键MyRTKLIB项目>>>属性>>>c/c++>>>预处理器>>>编辑预处理定义>>>添加WIN32)
此时运行错误更多啦:
其中的主要错误为:
错误 C4996 ‘fopen’: This function or variable may be unsafe. Consider using fopen_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details. My_RTKLIB E:\My_RTKLIB\My_RTKLIB\convgpx.c 93
2)解决:右键MyRTKLIB项目>>>属性>>>c/c++>>>常规>>>关闭SDL检查
再次运行:错误如下
3)解决:**右键MyRTKLIB项目>>>属性>>>VC++目录>>>包含目录>>>添加rtklib.h所在目录即可
再次运行:错误如下
4)解决:**右键MyRTKLIB项目>>>属性>>>链接器>>>输入>>>添加:
winmm.lib
ws2_32.lib
4.spp程序调试
(1) 设置输入参数:右键MyRTKLIB项目>>>属性>>>调试>>>输入命令参数
-k E:\My_RTKLIB\My_RTKLIB\conf\single.conf E:\My_RTKLIB\My_RTKLIB\data\polyu2400\polyu2400.23o E:\My_RTKLIB\My_RTKLIB\data\polyu2400\polyu2400.23p -o spp.pos -y 1 -x 3
参数解释
-k //-k表示输入参数文件
E:\MY_RTK_LIB\MY_RTK_LIB\conf\single.conf //参数文件
E:\MY_RTK_LIB\MY_RTK_LIB\data\polyu2400\polyu2400.23o //观测文件
E:\MY_RTK_LIB\MY_RTK_LIB\data\polyu2400\polyu2400.23p //
-o spp.pos //输出文件名(默认输出位置在项目路径)
-y 1 -x 3 //-y 1 打开调试输出 -x 3 表示输出详细程度为3