我已經存在一個 repository 寫好了 Makefile
可以在 Linux 上透過 make 編譯出執行檔
想用 Visual Studio 開發並 debug 這樣一個程式
手上有的環境跟 GitHub repository
- Visual Studio Community 2019 16.4.5 (run in Windows 10)
- Ubuntu 16.04.6 LTS (run in VirtualBox)
- Cpp Linux Example repository
其實 Microsoft 官方文件介紹得非常清楚
跟著文件做就可以很簡單的建立一套開發環境
首先在 Visual Studio 上必須先安裝 Linux development with C++ 的 workload
安裝 Linux development with C++ in vs2019 |
接著在你的 Linux 系統上確認有安裝需要的套件
g++, gdb, rsync, zip, make, openssh-server 等
然後啟動 Visual Studio 後進入 Tools > Options 選單
在 Cross Platform > Connection Manager 頁面按下 Add 按鈕
並輸入連線的資訊
當然可以使用 SSH Private Key 的方式做認證
設定與 Linux 的連線 |
輸入與 Linux 連線的資訊 |
接著就可以建立新的專案
選擇 Makefile Project (for Linux) template
路徑設定在我們已經有的 repository 資料夾內
因為後續路徑關係
我們把 .sln 跟 .vcxproj 兩個檔案放到跟 Makefile 同一層
建立 Makefile Project |
選擇在原本 Linux 程式的 repository 資料夾下建立 |
把 .sln 與 .vcxproj 移動到 Makefile 同目錄 |
再來把所有相關的 sources 跟 Makefile 都加入專案內
接著進入 Project > Properties 選單
在 Remote Build 頁面的 Build Command Line 設定填入 make all
最後按下 Build Solution (Ctrl + Shift + B)
加入已存在的檔案 |
設定 Remote Build |
可以看到執行建置時, 複製到遠端 Linux 並執行 make all |
這時候可以在 Linux 裡面發現被複製過去的檔案
default 會在使用者的 home 路徑下的 projects 資料夾
這個路徑也能在 Project Properties 裡修改
設定複製到遠端 Linux 的路徑 |
檔案被複製到 Linux 上的樣子 |
最後設定 debugging 的資訊
跟以往在 Windows 上的設定類似
不過路徑改為遠端 Linux 上的
執行沒問題後就可以加上一些 breakpoints 來試試看吧
設定 debugging 啟動資訊 |
用 Visual Studio 2019 debug Linux C++ 程式的過程 |
我沒有使用更多深入的功能
但就目前有接觸到的基本功能來說
體驗算是與原本開發 Windows C++ 程式非常一致
很快就可以上手