利用VS2017編譯、除錯Linux程式
VS2017提供了交叉編譯的功能。即可在windows機器上使用VS方便的編輯、除錯Linux機器上的程式。
大致流程是這樣的:
1、在windows機器上編輯程式碼;
2、VS通過SSH將程式碼傳送到Linux機器上進行編譯、連結;
3、呼叫Linux機器上的GDB除錯程式,並將除錯過程中的狀態同步至windows機器;
下文將Windows環境稱為Host端,Linux環境稱為Device端。為了實現上述功能需要在Host、Device 2端進行配置。
Device端:
- 安裝openssh-server ,用於和Host端進行通訊;
- 安裝g++,用於編譯源程式;
- 安裝gdb和gdb-server,用於除錯程式;
- 安裝源程式依賴的庫及執行時;
Host端:
1) VS2017: tools ->Options->Cross Platform -> Connection Manager -> Add.
在Connect to Remote System中配置Device端的登入資訊。其中
-Host name:Device端的IP或域名
-Port:通訊埠,保持預設配置
-User name:Device端系統的登入名
-Authentication Type:保持預設,密碼登入
-Password:Device端的登入密碼
2)將Device端的依賴庫和執行時的標頭檔案(如果有的話),Copy到Host端上,假設標頭檔案在Host端上的路徑為${DPENDENCES_DIR};
3)VS2017: Project -> Properties->General
-Remote Build Machine: 保持和1)中的Connect to Remote System一致
4) VS2017:Project->Properties->C/C++
-Additional Include Directories: 加入2)中的${DEPENDENCES_DIR}
5) 最後驗證配置是否成功。在VS中Build,輸出類似如下列印則表示配置完成