利用VS2017編譯、除錯Linux程式

古古有它發表於2018-07-25

VS2017提供了交叉編譯的功能。即可在windows機器上使用VS方便的編輯、除錯Linux機器上的程式。

大致流程是這樣的:

1、在windows機器上編輯程式碼;

2、VS通過SSH將程式碼傳送到Linux機器上進行編譯、連結;

3、呼叫Linux機器上的GDB除錯程式,並將除錯過程中的狀態同步至windows機器;

 

下文將Windows環境稱為Host端,Linux環境稱為Device端。為了實現上述功能需要在Host、Device 2端進行配置。

Device端:

  1. 安裝openssh-server ,用於和Host端進行通訊;
  2. 安裝g++,用於編譯源程式;
  3. 安裝gdb和gdb-server,用於除錯程式;
  4. 安裝源程式依賴的庫及執行時;

 

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,輸出類似如下列印則表示配置完成

相關文章