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 环境了。
修改源
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
文件,如下所示