说明
本文基于vscode + mingw-w64 构建rtklib代码编译,命令行部分,不包含可视化的界面部分
Step1. 构建vscode + mingw-w64环境
该步骤比较简单,主要步骤简述:
- 下载mingw-64,解压,加入环境变量
- 下载vscode,安装
- 下载windows下的git工具
- 下载RTKLIB源代码
- 默认下载的是master分支,但是看master分支的readme,发现很老了,估计后面的版本都不是基于master出的,因此需要切换到release的tag上
查看tag
命令如下:
git checkout v2.4.3-b34
编译
- 从makefile结构来看,无法直接编译所有的app,先以任意一个app编译为例,后面可以优化
- 进入目录:RTKLIB/app/consapp/convbin/gcc,右键打开git bash
cd RTKLIB/app/consapp/convbin/gcc - 右键使用git bash打开终端,定义编译器类型:export CC=gcc(看makefile结构,需要自己定义CC变量),执行make命令
- 修复编译问题1:cannot find -lrt
这是Linux下的库,直接从makefile里面删除该链接库 -
修复编译问题2
提示找不到获取时间符号 找不到获取时间函数符号 查询发现该函数属于winmm库,在makefile里面把这个库加入 加入winmm库后的makefile
-
编译完成,生成可执行文件
产生的可执行文件
其他 -- 编译UT工程遇到的问题
- 修复编译问题1:mkdir接口找不到定义,这里是没有配置主机环境,当前目录makefile的CFLAGS增加定义 -DWIN32,如下: 修改后的Makefile
- 修复编译问题2:
提示找不到线性代数库 找不到库文件 顺便了解一下两个库:
-- LAPACK(Linear Algebra PACKage):用于数值计算的函式集
-- BLAS(Basic Linear Algebra Subprograms)即基础线性代数子程序库,里面拥有大量已经编写好的关于线性代数运算的程序
直接下载编译好的:http://icl.cs.utk.edu/lapack-for-windows/lapack/ 下载库文件 看上去编译好的只有动态库,放到mingw安装目录 mingw64\lib\gcc\x86_64-w64-mingw32\8.1.0 下面
网友评论