参考博文:https://blog.csdn.net/Pro2015/article/details/89041654
1、Visual Studio中新建C++控制台空工程
2、将RTKLIB-rtklib_2.4.3\src目录拷贝到VS工程中
3、C/C++下预处理器 添加
(配置属性 -> C/C++ -> 预处理器 -> 预处理器定义 -> 编辑)
第一个定义是为了解决vs对不安全函数的错误提醒;
第二个定义是为了解决vs对socket编程没有使用指定函数的错误提醒;
第三个参数是启用glonass系统,也是为了解决不启用glonass时,导致MAXPRNGLO为0导致数组大小为0的错误,另外,如果一个系统没有被宏定义启动,那么无论在配置文件中怎么选,都不会使用这个系统定位,除此之外,也可以开启ENACMP(北斗),详见头文件的注释;
以上是rtklib可运行的必需的宏定义,也可根据需要添加其它定义,具体参考头文件。
4、C/C++下的附加包含目录 添加
(配置属性 -> C/C++ 常规 -> 附加包含目录 -> 编辑)
5、连接器下的附加依赖项 添加
(配置属性 -> 链接器 -> 输入 -> 附加依赖项)
winmm.lib ws2_32.lib6、多字节
(配置属性 -> 常规 -> 项目默认值 -> 字符集)
选择多字节字符集,否则对文件名的扩展会出错。
7、错误
(1)提示找不到pthread.h,那是因为你不是win32下的项目,可以重新建立的控制台应用程序,或修改项目在win32下;
(2)提示使用了可能未初始化的本地指针变量“sbs”,定位错误,指针设为NULL
8、添加一个main(rtklib中有5个CUI程序,随意选择一个就可以,本文选择rnx2rtkp):
RTKLIB-rtklib_2.4.3\app\rnx2rtkp中的rnx2rtkp.c文件复制到项目中,并添加到项目中