码迷,mamicode.com
首页 > 其他好文 > 详细

VS2015编译rtklib2.4.2

时间:2017-12-29 21:45:23      阅读:346      评论:0      收藏:0      [点我收藏+]

标签:secure   处理   不能   包含   rtk   打开   上下   解决   soc   

准备工作

  •   在VS2015下新建一个win32的dll项目(空项目)

 技术分享图片

 

  • 把在github上下载的rtklib2.4.2里的src文件夹复制到刚刚建立的win32下

技术分享图片

 

  • 把src里的文件添加到项目里,其中头文件添加rtklib.h(在src里)

 技术分享图片

 

 开始编译

 现在可以进行编译了,因为rtklib是在Borland C++编译器下写的,但是我们现在用VS进行编译,会出现一堆的错误,现在我们就一个个来解决。

 

  •  这是由于函数安全性问题,编译器已经给出建议,添加预编译指令_CRT_SECURE_NO_WARININGS。我们打开调试下的项目属性,然后在配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> 编辑。在下面添加上_CRT_SECURE_NO_WARININGS

 技术分享图片

 技术分享图片

 

  •  这个也是添加预编译指令来去除错误。位置和上面一样。在预处理器定义里添加_WINSOCK_DEPRECATED_NO_WARNINGS

 技术分享图片

 技术分享图片

 

  • 不能分配常量大小为0的数组。也是在预处理器定义里添加定义ENAGLO

技术分享图片

技术分享图片

 

  • rcv里的文件找不到rtklib.h这个头文件。我们继续在项目属性里,在配置属性 -> C/C++ 常规 -> 附加包含目录 -> 编辑 。在上面添加rtklib.h的绝对路径(在项目里的src找到rtklib.h并查看它的绝对路径)

技术分享图片

技术分享图片

 

  • 提示未初始化本地指针变量的错误,双击错误找到这个错误的位置,然后往上找到定义变量sbs的位置,给指针初始化赋值NULL

技术分享图片

技术分享图片

技术分享图片

 

  • 编译后发现了20个莫名的错误,我们找到之前预处理器定义处,在下面添加DLL,再找到项目属性,在配置属性 -> 链接器 -> 输入 -> 附加依赖项里添加 winmm.lib 和 ws2_32.lib

技术分享图片

技术分享图片

技术分享图片

 

  • 最后再编译就成功了。

技术分享图片

 

VS2015编译rtklib2.4.2

标签:secure   处理   不能   包含   rtk   打开   上下   解决   soc   

原文地址:https://www.cnblogs.com/QKSword/p/8146046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!