| Usage: rustc [OPTIONS] INPUT |
| |
| Options: |
| -h, --help Display this message |
| --cfg <SPEC> Configure the compilation environment. |
| SPEC supports the syntax `<NAME>[="<VALUE>"]`. |
| --check-cfg <SPEC> |
| Provide list of expected cfgs for checking |
| -L [<KIND>=]<PATH> Add a directory to the library search path. The |
| optional KIND can be one of |
| <dependency|crate|native|framework|all> (default: |
| all). |
| -l [<KIND>[:<MODIFIERS>]=]<NAME>[:<RENAME>] |
| Link the generated crate(s) to the specified native |
| library NAME. The optional KIND can be one of |
| <static|framework|dylib> (default: dylib). |
| Optional comma separated MODIFIERS |
| <bundle|verbatim|whole-archive|as-needed> |
| may be specified each with a prefix of either '+' to |
| enable or '-' to disable. |
| --crate-type <bin|lib|rlib|dylib|cdylib|staticlib|proc-macro> |
| Comma separated list of types of crates |
| for the compiler to emit |
| --crate-name <NAME> |
| Specify the name of the crate being built |
| --edition <2015|2018|2021|2024|future> |
| Specify which edition of the compiler to use when |
| compiling code. The default is 2015 and the latest |
| stable edition is 2024. |
| --emit <TYPE>[=<FILE>] |
| Comma separated list of types of output for the |
| compiler to emit. |
| Each TYPE has the default FILE name: |
| * asm - CRATE_NAME.s |
| * llvm-bc - CRATE_NAME.bc |
| * dep-info - CRATE_NAME.d |
| * link - (platform and crate-type dependent) |
| * llvm-ir - CRATE_NAME.ll |
| * metadata - libCRATE_NAME.rmeta |
| * mir - CRATE_NAME.mir |
| * obj - CRATE_NAME.o |
| * thin-link-bitcode - CRATE_NAME.indexing.o |
| --print <INFO>[=<FILE>] |
| Compiler information to print on stdout (or to a file) |
| INFO may be one of |
| <all-target-specs-json|calling-conventions|cfg|check-cfg|code-models|crate-name|crate-root-lint-levels|deployment-target|file-names|host-tuple|link-args|native-static-libs|relocation-models|split-debuginfo|stack-protector-strategies|supported-crate-types|sysroot|target-cpus|target-features|target-libdir|target-list|target-spec-json|target-spec-json-schema|tls-models>. |
| -g Equivalent to -C debuginfo=2 |
| -O Equivalent to -C opt-level=3 |
| -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 |
| -A, --allow <LINT> Set lint allowed |
| -W, --warn <LINT> Set lint warnings |
| --force-warn <LINT> |
| Set lint force-warn |
| -D, --deny <LINT> Set lint denied |
| -F, --forbid <LINT> Set lint forbidden |
| --cap-lints <LEVEL> |
| Set the most restrictive lint level. More restrictive |
| lints are capped at this level |
| -C, --codegen <OPT>[=<VALUE>] |
| Set a codegen option |
| -V, --version Print version info and exit |
| -v, --verbose Use verbose output |
| --extern <NAME>[=<PATH>] |
| Specify where an external rust library is located |
| --sysroot <PATH> |
| Override the system root |
| --error-format <human|json|short> |
| How errors and other messages are produced |
| --json <CONFIG> Configure the JSON output of the compiler |
| --color <auto|always|never> |
| Configure coloring of output: |
| * auto = colorize, if output goes to a tty (default); |
| * always = always colorize output; |
| * never = never colorize output |
| --diagnostic-width <WIDTH> |
| Inform rustc of the width of the output so that |
| diagnostics can be truncated to fit |
| --remap-path-prefix <FROM>=<TO> |
| Remap source names in all output (compiler messages |
| and output files) |
| @path Read newline separated options from `path` |
| |
| Additional help: |
| -C help Print codegen options |
| -W help Print 'lint' options and default settings |
| -Z help Print unstable compiler options |
| |