创作本文的目的
对于rtklib程序的学习,一直都是处于简单看代码的状态,从来没有将程序运行起来,为了更好的了解rtklib程序的执行流程,跟着网上的教程学习了一下,为了避免忘记,同时对网络上的资源进行回馈,现将rtklib利用VS2017调试的流程记录如下,文章将尽可能把所遇到的问题记录下来,希望对各位有所帮助。
新建rtklib_demo程序
首先打开VS,新建一个项目,选择控制台应用。起一个名字,选择一个位置保存,为了防止出现bug,最好不要使用中文。
建好之后删掉源文件中的程序文件,右击点击移除,删除即可。
复制rtklib源码到文件夹
在rtklib文件夹中找到src文件夹,将它复制到新建的项目文件中,应和下列文件在同一文件夹下:
进行完上述操作之后,右击头文件,选择添加现有项,将rtklib.h文件载入到头文件下,将除了rcv文件外的其余文件加载到源文件下,然后右击源文件,选择新建筛选器,命名为rcv,将rcv中文件加载到此文件下。
创建主函数
复制rnx2rtkp.c到src文件夹中,重命名为main.c并加载到源文件中:
运行程序前的准备
直接运行主程序会出现许多错误或警告,为了避免上述问题,在运行前可以进行如下的配置,可以解决这些问题,不过如果想记忆深刻,可以先运行一下看看会出现哪些错误,也就知道了下述操作都解决了什么问题。
操作流程
打开项目 —> 属性 —> C/C++ —>预处理器,添加_WINSOCK_DEPRECATED_NO_WARNINGS 到预处理器定义中:
点击常规,将src文件路径添加搭配附加包含目录:
在常规中,将SDI检查变为否:
切换到链接器点击输入,将如下的代码复制进去
winmm.lib
ws2_32.lib:
编译运行后出现如下的界面:
似乎目前程序已经编译成功,但是运行后也会出现如下的提示,报告找不到PDB文件。
这个问题目前还不知道如何解决,由于本人也是小白,上述内容多为参考网上的资源,根据自己的理解进行了一些调整,上述操作的逻辑也并不清楚,如果有大神有更好的见解,希望能评论区不吝赐教。
感谢一下大佬的无私分享!
链接: link
https://blog.csdn.net/yunyun11112/article/details/116599184
链接: link
https://blog.csdn.net/wuwuku123/article/details/100030177
2023/08/10更新
后续问题已解决,已经可以实现调用程序实现单点定位,并输出定位结果。详细内容参考:
链接: link
https://blog.csdn.net/dong20081991/article/details/126323596?spm=1001.2014.3001.5502