スポンサーリンク

Rustのライブラリ用mylibクレートを作って実行用のmymainクレートから呼び出す

まず、cargoコマンドでそれぞれのプロジェクトを作成する。

cargo new --lib mylib
cargo new mymain

 

これによって、同じ階層に二つのプロジェクトができる。

root
├─mylib
│  │  .gitignore
│  │  Cargo.lock
│  │  Cargo.toml
│  │
│  ├─.vscode
│  │      launch.json
│  │
│  ├─src
│  │      lib.rs
│  │
│  └─target
│      │  .rustc_info.json
│      │  CACHEDIR.TAG
│      │
│      └─debug
│
└─mymain
    │  .gitignore
    │  Cargo.lock
    │  Cargo.toml
    │
    ├─src
    │      main.rs
    │
    └─target
        │  .rustc_info.json
        │  CACHEDIR.TAG
        │
        └─debugu



mylibの編集

lib.rs

// mylib/src/lib.rs
pub fn mylib_hello() {
    println!("Mylib: Hello, world!");
}

mymain

main.rs

extern crate mylib;

fn main() {
    mylib::mylib_hello();
}

Cargo.toml

[dependencies]
    
mylib = { path = "../mylib" }

ビルド

mymainだけをcargo buildすれば、自動でmylibもビルドされてリンクされる。

cd mymain
cargo build
cargo run

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)


この記事のトラックバックURL: