嘗試在windows10中安裝並使用wsl(windows subsystem for linux),就可以不只侷限於在學院服務器上編譯C++了。
再次強調,armadillo是在R中source之後使用(sourceCpp),不能直接編譯。
文章目錄
基礎操作
操作 | 描述 |
---|---|
:wq | 保存並退出 |
前期安裝
啓用或關閉Windows功能
首先在搜索欄中搜索並打開“啓用或關閉Windows功能”,勾選“適用於Linux的Windows子系統”項。只有開啓這項設置才能正常安裝WSL。
下載Ubuntu 18.04 LTS
在微軟應用商店搜索 Linux,可以看到一系列 Linux 發行版,根據自己需要選擇適合自己的發行版,這裏我選用 Ubuntu 18.04 LTS,下載完成後啓動,等待安裝完成,輸入賬戶和密碼,我們便得到了一個 Linux 環境了。
修改源
Ubuntu 默認的 apt 源是國外的源,實在是太慢了,這裏換成阿里雲的源。
(參考: 修改 WSL Ubuntu 18.04 默認源爲阿里雲鏡像)
首先查看默認的源的地址
> sudo vim /etc/apt/sources.list
# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
# newer versions of the distribution.
# deb http://archive.ubuntu.com/ubuntu/ bionic main restricted
# deb-src http://archive.ubuntu.com/ubuntu/ bionic main restricted
…
之後先將原配置文件備份
> sudo cp /etc/apt/sources.list /etc/apt/sources.list.20101107
再次執行vim打開源的地址,並輸入
> sudo vim /etc/apt/sources.list
> :%s/archive.ubuntu/mirrors.aliyun/g
# 14 substitutions …
> :wq
再進行更新
> sudo apt update
此時已成功換成阿里雲的源
下載g++, emacs等工具
若直接在Ubuntu中執行g++,會報錯
> g++
# g++:command not found
所以需要下載並安裝工具
> sudo apt-get install build-essential
還需要安裝emacs(Ubuntu圖形軟件),需要安裝所需依賴的工具
> sudo apt-get install --assume-yes build-essential libncurses5-dev
> sudo apt-get install --assume-yes libgif-dev libxpm-dev
> sudo apt-get install --assume-yes libtiff5-dev
> sudo apt-get install --assume-yes libxml2-dev
> sudo apt-get install --assume-yes libgnutls28-dev
然後可以直接安裝自帶的 emacs25
> sudo apt install emacs25
Helloworld
嘗試創建第一個txt文件
> touch hellowsl.txt
> emacs hellowsl.txt
# 進入編輯界面
# Helloworld!
# 編輯完成後鍵盤一次輸入 ctrl+x 和 ctrl+c,提示是否保存並退出,輸入y返回原界面
> cat hellowsl.txt
# Helloworld!
嘗試用g++對cpp文件進行編譯。注意,ubuntu中創建的文件的目錄在windows下的以下目錄中(參考:windows10與Linux子系統文件目錄相互訪問)
C:\Users\用戶名\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs\home\yanyinqiao
而windows的磁盤被掛載到了/mnt
下,可以直接訪問。我們嘗試利用g++編譯在目錄 C:\Users\yyq\Desktop\cs\midterm\2019midterm 下的helloworld.cpp
文件,如下所示
注: windows10 ubuntu子系統 WSL文件位置
在Windows中,微軟爲我們提供了一個默認的變量可以直接指向WSL的目錄:\\wsl$
。知道網絡路徑("\\wsl$")後,就可以添加到網絡位置中了。
自定義安裝路徑安裝WSL
參考(沒準以後用得上):自定義安裝路徑安裝WSL
vim
在ubuntu18.04中,使用cat
可以顯示文件內容,使用emacs
可以編輯文件。
vim
也可用於編輯文件,而且比emacs
效果更好。格式爲
> vim name.cpp
# 進入文件後,按 “i” 鍵進入可編輯模式
# 編輯完後按 Esc 鍵退出編輯模式
# 最後輸入 :wq 保存並退出
自動編譯(Makefile)
WSL中同樣可以通過 make
命令實現自動編譯