64ビットのWindowsマシンでrustc
とcargo
を使用して、32ビットのアプリケーションをコンパイルしています。これは、安定したツールチェーンを使用する場合は正常に機能しますが、ベータツールチェーンを使用しようとすると失敗します。
ベータツールチェーンはrustup install beta
で正常にインストールされました。プロジェクトフォルダには、次の行を含む.cargo/config
ファイルがあります。
[build]
target = "i686-pc-windows-msvc"
[target.i686-pc-windows-msvc]
rustflags = ["-Ctarget-feature=+crt-static"]
cargo +beta build
を実行すると、次のエラーが発生します。
error[E0463]: can't find crate for `core`
|
= note: the `i686-pc-windows-msvc` target may not be installed
rustup target add i686-pc-windows-msvc
を実行して問題を修正しようとしましたが、役に立ちませんでした。 rustup target list
は「インストール済み」と表示することもあります。おそらく、このコマンドは安定版のターゲットを追加するだけであり、ベータツールチェーンを指定する方法を見つけることができませんでした。
ベータツールチェーンに別の(デフォルト以外の)ターゲットを追加するにはどうすればよいですか?
rustup target add
のヘルプを読む:
$ rustup target add --help
rustup-target-add
Add a target to a Rust toolchain
USAGE:
rustup target add [OPTIONS] <target>...
FLAGS:
-h, --help Prints help information
OPTIONS:
--toolchain <toolchain> Toolchain name, such as 'stable', 'nightly', or '1.8.0'. For more information see
`rustup help toolchain`
したがって、あなたは欲しい:
rustup target add i686-pc-windows-msvc --toolchain beta
デフォルトで「現在の」ツールチェーンにターゲットが追加されると思いますので、次のこともできます。
rustup override set beta # in your project directory
rustup target add i686-pc-windows-msvc #
cargo build # no more +beta
rustup target list
は「インストール済み」と表示されます
rustup target list
のヘルプを読む:
$ rustup target list --help
rustup-target-list
List installed and available targets
USAGE:
rustup target list [OPTIONS]
FLAGS:
-h, --help Prints help information
OPTIONS:
--toolchain <toolchain> Toolchain name, such as 'stable', 'nightly', or '1.8.0'. For more information see
`rustup help toolchain`
したがって、あなたは欲しい:
rustup target list --toolchain beta