windows10 WSL初体验

尝试在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 环境了。
windows10 WSL初体验

修改源

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 WSL初体验