Cargoを使う(Rustのプロジェクト)
RustのビルドシステムであるCargoを使ってみます。前回は、rustcを使ってコンパイルしましたが、実際にはCargoを使って管理することが多いと思います。この記事では、Mac環境上で紹介していきますが、Windowsでも同様かと思います。
プロジェクトの作成
プロジェクトを作成するには、適当なフォルダに移動し、「cargo new」コマンドを実行します。たとえば、以下のような感じです。
1 2 3 4 |
$ cd ~ $ cargo new sample_proj --bin |
これで、ホーム下に、「sample_proj」という名前のフォルダが作成され、その下に必要なファイルが作成されます。
cargo new の次に、プロジェクトの名前(主にフォルダ名)を、その次に、実行可能ファイル用のプロジェクトを作成するために、「–bin」をつけています。
cargo new を実行した直後のディレクトリ構成は以下のとおりです。
1 2 3 4 5 6 |
sample_proj ├── Cargo.toml └── src └── main.rs |
Cargo.tomlには、プロジェクトの設定が、srcフォルダ以下には実際のソースファイルが保存されます。main.rsは、cargoが自動的に作成してくれたものです。
ビルド
プロジェクトをビルドするには、作成したプロジェクトのフォルダへ移動し、「cargo build」コマンドを実行します。
1 2 3 4 5 |
~/sample_proj $ cargo build Compiling sample_proj v0.1.0 (file:///Users/xxx/sample_proj) Finished dev [unoptimized + debuginfo] target(s) in 1.29 secs |
ビルドが成功すると、「target/debug」下にプロジェクト名の実行可能ファイルが作成されます。
リリースビルド
リリースビルド(最適化オン)を行う場合は、「–release」オプションを付けてbuildコマンドを実行します。
1 2 3 4 5 |
~/sample_proj $ cargo build --release Compiling sample_proj v0.1.0 (file:///Users/xxx/sample_proj) Finished release [optimized] target(s) in 0.20 secs |
ビルドが成功すると、「target/release」下にプロジェクト名の実行可能ファイルが作成されます。
ビルドと実行
buildコマンドを実行後、「./target/debug/sample_proj」を実行すればよいのですが、少々手間です。cargoには、ビルドと実行を一度でやってくれるrunコマンドが用意されています。プロジェクトのフォルダに移動し「cargo run」コマンドを実行すると、ビルドと実行を一度にやってくれます。
1 2 3 4 5 6 |
~/sample_proj $ cargo run Finished dev [unoptimized + debuginfo] target(s) in 0.0 secs Running `target/debug/sample_proj` Hello, world! |
クリーン
「cargo clean」コマンドを実行すると、target以下を削除してくれます。
まとめ
Cargoの使い方を表にまとめます。
cargo new [プロジェクト名] –bin | 実行可能ファイル用のプロジェクトを作成 |
cargo build | デバッグビルド |
cargo build –release | リリースビルド |
cargo run | ビルドと実行 |
cargo clean | target以下を削除 |