在Windows Subsystem for Linux(WSL)下,如何玩轉rust?
一、工具
1、WSL
(1) 安裝 ubuntu
這個過程略去。
(2)刪除wsl (從入門到放棄,呵呵)
C:\Users\rustr>wslconfig/l
適用於 Linux 的 Windows 子系統:
Ubuntu (默認)
C:\Users\rustr>wslconfig /u Ubuntu
2、Visual Code
(1)按下F1,輸入“remote -WSL”,確認,打開新的窗口,將會連上wsl.
3、Rust
Shell 下載rust組件:
>$ curl https://sh.rustup.rs -sSf | sh
配置:(切記不能少!)
>$ source $HOME/.cargo/env
運行以下命令驗證已安裝的 Rust 版本。
$ rustc --version
rustc 1.42.0-nightly (698fcd38f 2020-01-26)
4、Clang(或有)、LLVM安裝
(1)shell
A、下載:
git clone https://github.com/llvm/llvm-project.git
git checkout llvmorg-7.0.1 ( llvm8.0.1 later 需要 GCC5.1 above)
B、編譯(有待確認):
cd llvm-project
cp -r clang llvm/tools/
cd llvm
mkdir build
cd build
cmake3 -DLLVM_ENABLE_TERMINFO=OFF -DLLVM_TARGETS_TO_BUILD="X86;ARM;NVPTX;AArch64;Mips;PowerPC" -DLLVM_ENABLE_ASSERTIONS=ON -DCMAKE_BUILD_TYPE=Release ..
make -j
C、設置外部環境
export LLVM_CONFIG=/your_path/llvm-project/llvm/build/bin/llvm-config
(2) apt: ubuntu內置clang6.0,最好先更新一下
sudo apt-get update
sudo apt install clang
(3)LLVM官網下載
先下載:
http://releases.llvm.org/
下載後,解壓:
.tar.xz的解壓命令,有分步解壓的方式,也有一步解壓方式。
分步解壓:
$ xz -d ***.tar.xz
$ tar -xvf ***.tar
一步解壓:
$ tar xvJf ***.tar.xz
二、Shell下操作
1、看一下gcc是否全
2、創建相關文件夾和工程
$ cargo new hello_world
三、在VScode下
按F1=>鍵入
remote -WSL:
在hellow_world下src目錄下編寫main.rs文件
運行以下命令編譯 rust 代碼。
四、運行rust
1、在VScode中運行
直接相應終端cargo run --release
2、在Shell中運行
(1) rustc :編譯
(2):./
a@DESKTOP-PGIOPAJ:~/xtp_linux$ cd rust_test
a@DESKTOP-PGIOPAJ:~/xtp_linux/rust_test$ ls
Cargo.lock Cargo.toml src target
a@DESKTOP-PGIOPAJ:~/xtp_linux/rust_test$ cd src
a@DESKTOP-PGIOPAJ:~/xtp_linux/rust_test/src$ rustc main.rs
a@DESKTOP-PGIOPAJ:~/xtp_linux/rust_test/src$ ./main.rs
-bash: ./main.rs: Permission denied
a@DESKTOP-PGIOPAJ:~/xtp_linux/rust_test/src$ ./main
Hello, world!
注意:
可執行文件是main,不是main.rs.
(3)ldconfig: 編譯相應的庫文件(或有)
rustme@DESKTOP-PGIOPAJ:/opt/llvm/clang_llvm/share$ cd /usr/local/lib
rustme@DESKTOP-PGIOPAJ:/usr/local/lib$ ls
libxtpquoteapi.so libxtptraderapi.so python2.7 python3.6
rustme@DESKTOP-PGIOPAJ:/usr/local/lib$ sudo ldconfig
[sudo] password for rustme:
rustme@DESKTOP-PGIOPAJ:/usr/local/lib$
四、關於windows下與wsl文件夾交互
1、windows => wsl
在windows系統中的文件如何放到wsl下
2、Linux訪問windows文件
windows的磁盤被掛載到了/mnt下,可以直接訪問