准备工作

  •   在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的更多相关文章

  1. VS2015编译boost1.62

    VS2015编译boost1.62 Boost库是一个可移植.提供源代码的C++库,作为标准库的后备,是C++标准化进程的开发引擎之一. Boost库由C++标准委员会库工作组成员发起,其中有些内容有 ...

  2. VS2015编译Qt5.7.0生成支持XP的静态库(很不错)

    一.编译工具 1.VS2015 编译Qt5.7.0的所需VS版本:Visual Studio 2013 (Update1)或Visual Studio 2015 (Update2).因为Update补 ...

  3. Win7 下用 VS2015 编译最新 openssl(1.0.2j)包含32、64位debug和release版本的dll、lib(8个版本)

    Win7 64位系统下通过VS2015编译好的最新的OpenSSL(1.0.2j)所有八个版本的链接库, 包含以下八个版本: 1.32位.debug版LIB: 2.32位.release版LIB: 3 ...

  4. 用VS2015编译sqlcipher

    简介 SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌 ...

  5. 实践详细篇-Windows下使用VS2015编译的Caffe训练mnist数据集

    上一篇记录的是学习caffe前的环境准备以及如何创建好自己需要的caffe版本.这一篇记录的是如何使用编译好的caffe做训练mnist数据集,步骤编号延用上一篇 <实践详细篇-Windows下 ...

  6. VS2015编译FFMPEG,修改FFmpeg缓冲区大小解决实时流解码丢包问题,FFmpeg错误rtsp流地址卡死的问题,设置超时

    之前尝试过很多网上利用Windows编译FFmpeg的文章,都没有办法编译X64位的FFmpeg,有些教程中有专门提到编译64位的FFmpeg需要下载mingw-w64-install,但是编译的过程 ...

  7. vs2015编译caffe

    有些时候,需要在python3的环境下import caffe,需要用vs2015在python3的环境下,编译pycaffe. microsoft的windows版本的caffe,依赖的库Nuget ...

  8. 使用VS2015编译xlslib库

    环境: win7_x64,VS2015 开始: 一.下载xlslib库 xlslib-package-2.5.0.zip 解压到一个指定目录,如E:\library\xlslib-package-2. ...

  9. [转][JSBSim]使用VS2015编译JSBSim

    转自csdn原文:https://blog.csdn.net/yu_lei_/article/details/81463187 请大家去看原文,原文有图片和资源,本文仅供本人参考 权威参考:http: ...

随机推荐

  1. IPAddress.Any 解决本地ip和服务器ip切换问题

    IPAddress.Any表示本机ip,换言之,如果服务器绑定此地址,则表示侦听本机所有ip对应的那个端口(本机可能有多个ip或只有一个ip)IPAddress.Any微软给出的解释是:Provide ...

  2. 微信小程序 --- Cannot read property 'setData' of null 解决

    在外部定义一个为 this 的 that

  3. 基于ping++聚合支付进行微信红包开发

    1.微信方面的开发,一定要详细的阅读微信支付的开发文档. https://pay.weixin.qq.com/wiki/doc/api/tools/cash_coupon.php?chapter=13 ...

  4. Exchange - Add Owner of Distribution Group

    User Interface: Open Exchange Management Console. Expand Microsoft Exchange On-Premises, then right ...

  5. 数据中心架构ToR和EoR【总结】

    1.前言 最近在看<云数据中心网络技术>,学习了企业数据中心网络建设过程,看到有ToR和EoR两种布线方式,之前没有接触过,今天总结一下. 2.布线方式 ToR:(Top of Rack) ...

  6. Javascript 生成随机数

    Math.random().toString(16).substring(2) // 固定13位 Math.random().toString(36).substring(2)//倍数不固定 22-2 ...

  7. kafka创建topic异常

    问题描述: kafak运行在weblogic账户下,jdk1.8,当在root账户下创建topic(当前账户下的jdk1.6)导致创建topic失败 ./bin/kafka-topics.sh --c ...

  8. 设计模式之二十一:中介者模式(Mediator)

    中介者模式:定义了一个对象.用来封装一系列对象的交互.中介者模式通过使对象之间不必显式引用减少了对象之间的耦合,而且同意你独立改变它们之间的交互. 中介者模式就是将对象之间的交互封装在了一个独立的对象 ...

  9. Mac Node.js 配置

    1.Node.js 简介 Node.js® 是一个基于 Chrome V8 引擎的 JavaScript 运行环境,可方便地构建快速,可扩展的网络应用程序的平台.Node.js 使用事件驱动,非阻塞式 ...

  10. IDEA使用笔记(十一)——好玩的类图结构

    今天使用 IntelliJ IDEA 发现一个好玩的操作,尤其对于研究源码了解类的层级关系有非常大的帮助! 1:先看效果 1-1:HashSet的类图结构——继承什么类.实现什么接口一目了然 1-2: ...