WindowsでRustのHello Worldをコンパイルできない: linker link.exe not found
エラーの概要・症状
Rustを使用して「Hello World」プログラムをコンパイルしようとしたときに、次のエラーメッセージが表示されることがあります。
Unable to compile Rust hello world on Windows: linker link.exe not found
このエラーは、Rustのコンパイラが必要なリンカであるlink.exeを見つけられないことを示しています。この問題が発生すると、プログラムを正常にビルドできません。
このエラーが発生する原因
このエラーが発生する主な原因は、以下の通りです。
-
C++ビルドツールが未インストール: RustはC++ビルドツールを必要とします。これがインストールされていない場合、
link.exeが見つからず、エラーが発生します。 - Rustのツールチェーンの設定ミス: Rustのツールチェーン(コンパイラやリンカなど)の設定が正しくないと、正しいリンカを見つけられません。
- 環境変数の設定不足: 環境変数が正しく設定されていないと、Rustが必要なツールを見つけることができない場合があります。
解決方法
このエラーを解決するための方法をいくつか紹介します。
解決方法 1: C++ビルドツールのインストール
- Visual Studioのビルドツールをダウンロードします。以下のリンクからアクセスできます。
- Visual Studio Build Tools
- ダウンロードしたインストーラーを実行し、「C++によるデスクトップ開発」にチェックを入れてインストールします。
-
インストール後、以下のコマンドを実行してRustのツールチェーンを設定します。
bash
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu -
最後に、プログラムをビルドします。
bash
cargo build
解決方法 2: Rustツールチェーンの再インストール
-
もし先程の手順で解決しない場合、次のコマンドを実行して現在のツールチェーンをアンインストールします。
bash
rustup uninstall toolchain stable-x86_64-pc-windows-msvc -
次に、新たにツールチェーンをインストールします。
bash
rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu -
最後に、プログラムをビルドするために以下のコマンドを実行します。
bash
cargo build
解決方法 3: 環境変数の確認
-
link.exeが正しくインストールされているか確認します。通常、これはVisual Studioのインストールディレクトリ内に存在します。 -
環境変数に
link.exeのパスが含まれているか確認します。以下の手順を行います。 - 「スタート」メニューから「システム」を開き、「システムの詳細設定」を選択します。
- 「環境変数」ボタンをクリックし、
Pathを探します。 -
link.exeのパス(例:C:\Program Files (x86)\Microsoft Visual Studio\<version>\BuildTools\VC\Tools\MSVC\<version>\bin\Hostx64\x64)が含まれていなければ、追加します。 - 環境変数を変更した後、コマンドプロンプトを再起動し、プログラムをビルドします。
エラーの予防方法
- Visual Studioのビルドツールをインストールした後は、常に最新の状態にアップデートするように心掛けましょう。
- Rustのツールチェーンを定期的にアップデートして、最新の機能とバグ修正を利用しましょう。コマンドは以下の通りです。
bash
rustup update
まとめ
「Unable to compile Rust hello world on Windows: linker link.exe not found」というエラーメッセージは、主にC++ビルドツールが未インストールであるか、Rustのツールチェーンが正しく設定されていないことが原因です。上記の解決方法を試すことで、問題を解決し、Rustのプログラムを正常にビルドできるようになります。正しい環境を整えることで、今後のエラーを未然に防ぐことが可能です。

コメント