VS2015編譯rtklib2.4.2


 

 

 

准備工作

  •   在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

 

  • 最后再編譯就成功了。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM