1. 程式人生 > 其它 >GAMP學習日誌1—GAMP除錯

GAMP學習日誌1—GAMP除錯

一、VS配置及GAMP下載

VS配置:VS2017專業版

下載地址:https://www.ngs.noaa.gov/gps-toolbox/GAMP/GAMP.zip

注意安裝的GAMP路徑,除錯過程的檔案路徑需要根據安裝路徑進行修改!

二、GAMP除錯

2.1 建立GAMP專案

1、下載解壓後的GAMP資料夾:

2、在VS中建立空專案(或者控制檯應用,需手動刪除自帶的main函式檔案;儘量不要建立在中文路徑下,可能會報錯),然後將GAMP中的...\mannual_GAMP\GAMP_src\Windows\gamp_c\gamp_src...\mannual_GAMP\GAMP_src\Windows\pthreads-w32-2-9-1-release\Pre-built.2

資料夾複製到剛剛建立的專案資料夾下;

  將...\mannual_GAMP\GAMP_src\Windows下的dirent.hunistd.h檔案複製到VS安裝目錄的基礎標頭檔案夾下,不同的VS版本,基礎標頭檔案路徑不同,可以在VS的安裝目錄下搜尋iostream(注意不是iostream.cpp),這個檔案所在位置就是基礎標頭檔案資料夾

3、在VS中將剛剛複製的gamp_src中的.h和.c檔案分別新增至專案的“標頭檔案”、“原始檔”下:

4、右擊專案開啟“屬性”,點選“C/C++”的“常規”選項,在“附加包含目錄”中新增剛剛複製的Pre-built.2下的include檔案,並將“除錯資訊格式”改為“C7相容

”;點選“連結器”,在“輸入”選項中的“附加依賴項”中新增pthreadVSE2.lib,在“常規”選項中的“附加庫目錄”中新增Pre-built.2下的lib\x86檔案(這裡偵錯程式設定為Win32,所以選擇x86,使用64位偵錯程式不知道為啥會報錯),在“除錯”選項中的“生成調式資訊”選擇“生成除錯資訊(/DEBUG)”,確定;

5、右擊專案開啟“屬性”,點選“C/C++”選項,將“前處理器”中的“前處理器定義”設定為如下所示,然後確定:

WIN32
_DEBUG
_CONSOLE
_CRT_SECURE_NO_WARNINGS
ENAGLO
ENACMP
ENAGAL
ENAQZS
NFREQ=3

2.2 原始碼修改與程式測試

1、現在要嘗試執行...\mannual_GAMP\Examples\2017244的案例,開啟main.c,找到main函式,將路徑變數cfgfile[1000]等於...\mannual_GAMP\Examples\2017244\gamp.cfg

2、由於源程式是基於命令列呼叫的,所以如果想要直接在程式碼中指定需要處理的衛星檔案,需要註釋掉下面的程式碼:

3、開啟gamp.cfg檔案,修改檔案路徑,修改成第一張圖可以處理指定的單個觀測值檔案,改成第二張圖可以處理整個資料夾中的觀測值檔案:

4、在...\mannual_GAMP\Examples\2017244資料夾中建立一個result檔案,否則程式執行檢測不到這個檔案會報錯,執行程式,如果出現指標未初始化的情況,直接賦值初始化成NULL即可,執行成功後,result資料夾下會出現解算結果,說明調式成功:

三、參考文章

1、100-GAMP安裝除錯細則

2、精密單點定位/PPP軟體GAMP學習之一