All Articles

WSL上にRust環境を作るメモ

もくじ

環境

今回は、以下の構成でRustで競プロを楽しむための環境を作っていきます。

  • WIndows10
  • WSL Ubuntu20.04

Rust環境の構築

Rustのインストール

公式ドキュメントを参照すると、WSLのユーザは以下のコマンドでRustが簡単にインストールできるようです。

curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh

インストール中に次のように聞かれますが、「Proceed with installatio」を選択しました。

1) Proceed with installation (default)
2) Customize installation
3) Cancel installation

インストールが完了したら、すべてのツールが~/.cargo/binに配置されているので、このディレクトリをPATHに追加します。

export PATH=$PATH:$HOME/.cargo/bin
echo 'export PATH=$PATH:$HOME/.cargo/bin' >> ~/.bashrc

PATHが追加できたら、次のコマンドでツールチェーンがインストールされたことを確認します。

rustup --version
rustc --version
cargo --version

Hello, World

とりあえずHello, Worldプロジェクトを作成してみます。

cargo new hello_world

ここで、以下のようなプロジェクトディレクトリが作成されます。

$ tree hello_world/
hello_world/
├── Cargo.toml
└── src
    └── main.rs

1 directory, 2 files

次に、main.rsをコンパイルします。

cd hello_world
cargo run #または cargo build

すると、targetディレクトリが作成され、次のような構成になりました。

$ tree hello_world/
hello_world/
├── Cargo.lock
├── Cargo.toml
├── src
│   └── main.rs
└── target
    ├── CACHEDIR.TAG
    └── debug
        ├── build
        ├── deps
        │   ├── hello_world-dcff91f54b10472a
        │   └── hello_world-dcff91f54b10472a.d
        ├── examples
        ├── hello_world
        ├── hello_world.d
        └── incremental
            └── hello_world-2x2zxxntihjma
                ├── s-g16k84pkgw-1kx1yoj-1r8cowopde7m7
                │   ├── 18w4g3z43hvkcb89.o
                │   ├── 2195c5i0j9yy401g.o
                │   ├── 2d4qpr6fn1o2oy47.o
                │   ├── 3n8l6lb07r0z64tp.o
                │   ├── 4ltafe1k1v50rxij.o
                │   ├── dep-graph.bin
                │   ├── g7uy5q5v1tqa9ua.o
                │   ├── osa6u353jylok1z.o
                │   ├── query-cache.bin
                │   ├── work-products.bin
                │   └── wzcdn60lipjlwrg.o
                └── s-g16k84pkgw-1kx1yoj.lock

9 directories, 20 files

このdebugディレクトリ直下のhello_worldというのが、コンパイルされたELFファイル本体です。

まとめ

ほんとはここからVSCodeでRustのデバッグができるように設定をしていきたかったのですが、 残念ながらまだRustのデバッグを行える拡張機能はVSCodeには見当たりませんでした。

またアップデートがあれば追記しようと思います。