一、前期准备
周锋博士在2017年开源了一个项目:多系统 GNSS 非差非组合精密单点定位软件GAMP
GAMP: An open-source software of multi-GNSS precise point positioning using undifferenced and uncombined observations
下载GAMP压缩包。
完成解压后得到:
二、调试详细步骤
打开下载包的Solution文件。位置在GAMP -> mannual_GAMP -> GAMP_src -> Windows -> gamp_c 文件夹中
双击打开这个sln文件
可能会提示你重定向点确定即可
就会进入VS工程项目
修改项目属性:
可以打开项目属性页可以看到,sln文件已经配置好了大部分参数
如: 配置属性 -> C/C++ ->预处理器 ->预处理器定义中
(2)【配置属性->链接器->调试->生成调试信息】 调整为 生成调式信息(/DEBUG)
这些操作都是sln已经配置好的不用做更改,只需要自己知道就行了。
添加多线程依赖库(需要更改)
(1)【配置属性-> C/C++ ->常规->附加目录】
这里的include文件在我们的c盘是没有的,所以需要将GAMP\mannual_GAMP\GAMP_src\Windows\pthreads-w32-2-9-1-release目录拷贝到C盘
也可以更改到你当前的文件路径下,我是直接吧文件路劲给加进来了
(2)【配置属性->链接器->常规->附加库目录】
和上面一样,可以直接选择复制的方法,也可以选择给路径的方法
其他的就不用更改,点击应用。这个时候还不能进行编译,还缺少两个头文件
头文件dirent.h
和unistd.h
复制VS默认包含目录
将GAMP -> mannual_GAMP -> GAMP_src -> Windows下头文件dirent.h
和unistd.h
复制到vs默认包含目录
右键头文件选择添加-现有项,将GAMP -> mannual_GAMP -> GAMP_src -> Windows下头文件
dirent.h
和unistd.h添加进来
将配置文件路径添加至命令参数
【右键项目 ->配置属性 -> 调试 -> 命令参数】,将GAMP -> mannual_GAMP -> Examples下的 2017244 文件夹下的配置文件 gamp.cfg 路径信息添加进去
这里对gamp.cfg进行修改(修改为自己2017244文件夹路径)
打开gamp.cfg文件找到
创建一个结果文件夹,在该路径下
这个时候可能进行编译还会出现问题
这是因为头文件我是直接添加进入到项目中的,这样直接编译,vs2017是找不到我添加进来的头文件在那里(这里可以把头文件直接复制到项目中的头文件文件夹中)。我们可以使用
项目->属性->C/C++/常规/附加包含目录->把.h那一级文件放进去即可
这样编译就没有问题了
运行main.c文件
可能出现的错误
Stack overflow
这是VS的栈溢出了
项目→最后一项→链接器→系统→堆栈保留大小
调大点即可。比如100000000。
、这里注意平台如果你的运行平台为x64就要选择x64
应用后就可以运行main.c文件
在创建的result文件夹中就可以看到处理结果: