Visual Studio2019 基於WSL的Linux C++開發


WSL是“Windows Subsystem for Linux”的縮寫,WSL讓我們能夠在Window10下直接使用Linux命令行,相比虛擬機而言,其開啟速度要快上很多;相比雲主機,又無需付費,且由於WSL位於本地,在VS中編譯速度相對要快上許多。

​ WSL的安裝網上有許多教程,就不多加敘述。不過,推薦一個我覺得還不錯的教程,在Window10的Microsoft Store中搜索“WSL Guideline”,安裝后即可看到比較詳細的安裝教程。

​ 安裝好后記得換源,換成國內的源下載會更快,注意換源時選擇你和下載的WSL Linux發行版相同版本的源,例如Ubuntu 20.04 LTS如果用Ubuntu 18.04 LTS的源,會出現好多軟件包出現依賴問題。

下一步就是安裝相應的開發工具了

sudo apt-get install g++ gdb make ninja-build rsync zip

有了這些工具,我們就能在Visual Studio2019中編寫Linux平台的C++程序啦。

關於VisualStudio對Linux的支持,在我之前的文章中已經介紹過操作方法。

可見Visual Studio 2019 基於Linux平台的C++開發(這篇文章介紹的是基於雲平台或虛擬機上的Linux,不過大部分操作和WSL是差不多的,我主要記錄不同的地方)

在VS中創建一個Linux C++開發的空項目,在“項目”->“屬性”->“配置屬性”->“常規”中選擇平台工具集,將其從Gcc for Remote Linux改為Gcc for Windows Subsystem for Linux並點擊應用。這時,我們可以發現,平台工具集下面的那幾個遠程開頭的行都消失了,轉而變成了WSL*.exe完整路徑。這就證明了我們成功地將編譯平台設置為WSL了。這時主界面綠色的調試箭頭旁邊的字已經變為GDB調試程序

下面我們就用一個例程來驗證一下吧~

#include<iostream>
#include<stack>
#include<unistd.h>//特地試一下Linux專有的頭文件
using namespace std;
int main()
{
	pid_t i = getpid();
	stack<int> intStack({1,2,3,4,5,6,7,8,9,10});
	cout << "pid = " << i<<endl;
	while (!intStack.empty()) {
		cout << intStack.top() << "\t";
		intStack.pop();
	}
	cout << endl;
	return 0;
}

點擊“調試”->“Linux控制台”呼出控制台窗口,點擊綠色箭頭或按F5,即可看到輸出結果,該例子結果如下:

(注意:初次運行時只輸出了pid而沒有輸出intStack不斷出棧的內容,改了幾次后發現,每次輸出后都得加入"\n"或cout<<endl換行后才能在Linux控制台看到結果,我猜測可能是結果寫在了緩沖區中,只有換行后才會將緩沖區的內容輸出到VisualStudio的Linux控制台中)


免責聲明!

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



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