« ^ »

rustcのコマンドラインオプションのメモ

所要時間: 約 3分

rustc

rustcはrust用コンパイラである。

Usage: rustc [OPTIONS] INPUT

Options:
    -h, --help          Display this message

ヘルプを表示します。


        --cfg SPEC      Configure the compilation environment

コンパイル環境を構成する。条件付きコンパイルのための設定を渡す。 条件付きコンパイルについては以下で説明されている。 https://doc.rust-jp.rs/the-rust-programming-language-ja/1.6/book/conditional-compilation.html

    -L [KIND=]PATH      Add a directory to the library search path. The
                        optional KIND can be one of dependency, crate, native,
                        framework, or all (the default).

ライブラリ検索パスにディレクトリを追加する。 KINDには以下のオプションを指定できる。

  • dependency
  • crate
  • native
  • framework
  • all (the default)
    -l [KIND=]NAME      Link the generated crate(s) to the specified native
                        library NAME. The optional KIND can be one of
                        static, framework, or dylib (the default).

生成されたクレートを指定されたネイティブライブラリNAMEにリンクする。 KINDには以下のオプションを指定できる。

  • static
  • framework
  • dylib (the default)

        --crate-type [bin|lib|rlib|dylib|cdylib|staticlib|proc-macro]
                        Comma separated list of types of crates
                        for the compiler to emit

コンパイラが発行するクレートの種類のカンマ区切りリストを指定する。

crate-type用途
bin実行可能形式
libその時に応じて適切な種類を自動で選択(rustcではrlibが作られる)
rlibRust用静的ライブラリ
dylibRust用動的ライブラリ
cdylib汎用動的ライブラリ
staticlib汎用静的ライブラリ
proc-macroProcedural macros

参考


        --crate-name NAME
                        Specify the name of the crate being built

クレート名を指定する。


        --edition 2015|2018
                        Specify which edition of the compiler to use when
                        compiling code.

コードのコンパイル時に使用するコンパイラのエディションを指定する。

参考 https://qiita.com/garkimasera/items/1bc973eae60fe0c10210


        --emit [asm|llvm-bc|llvm-ir|obj|metadata|link|dep-info|mir]
                        Comma separated list of types of output for the
                        compiler to emit

コンパイラーが出力する出力タイプのコンマ区切りリストを指定する。

emit意味
asmアセンブリ
llvm-bc
llvm-irLLVM-IR中間言語
obj
metadata
link
dep-info
mir

        --print [crate-name|file-names|sysroot|cfg|target-list|target-cpus|target-features|relocation-models|code-models|tls-models|target-spec-json|native-static-libs]
                        Compiler information to print on stdout

stdoutに出力するコンパイラ情報。

指定意味
crate-name
file-names
sysroot
cfg
target-list
target-cpus
target-features
relocation-models
code-models
tls-models
target-spec-json
native-static-libs
    -g                  Equivalent to -C debuginfo=2

-C debuginfo=2 と等価。


    -O                  Equivalent to -C opt-level=2

-C opt-level=2 と等価。

    -o FILENAME         Write output to <filename>

出力ファイル名を指定する。

        --out-dir DIR   Write output to compiler-chosen filename in <dir>

出力ディレクトリを指定する。

        --explain OPT   Provide a detailed explanation of an error message

エラーメッセージの詳細な説明を提供する。

        --test          Build a test harness

テストハーネスをビルドする。

        --target TARGET Target triple for which the code is compiled

コードがコンパイルされる対象のトリプル1


1

Target triple とは何を指しているのか?

    -W, --warn OPT      Set lint warnings

lintのワーニングを出力する。

    -A, --allow OPT     Set lint allowed

lintのワーニングを許容する。

    -D, --deny OPT      Set lint denied

lintのワーニングを許容しない。

    -F, --forbid OPT    Set lint forbidden

lintのワーニングを拒否する。

        --cap-lints LEVEL
                        Set the most restrictive lint level. More restrictive
                        lints are capped at this level

最も制限の厳しいlintレベルを設定する。 より制限的リントはこのレベルで制限される。


    -C, --codegen OPT[=VALUE]
                        Set a codegen option

codegenオプションを設定する。 https://docs.rs/codegen/0.1.3/codegen/

    -V, --version       Print version info and exit

バージョンを表示する。

    -v, --verbose       Use verbose output

出力を多くする。


Additional help:
    -C help             Print codegen options

codegenオプションを表示する。

    -W help             Print 'lint' options and default settings

lintオプションとデフォルト設定を表示する。

    -Z help             Print unstable compiler options

unstableなコンパイラオプションを表示する。

    --help -v           Print the full set of options rustc accepts

rustcのhelpを表示する。