gfortran実行環境の設定
改訂1 2020.05.28 T. Johzaki
2018.06.13 T. Johzaki, Hiroshima University
gfortranによるコンパイルをコマンドプロンプトで行うためにpathを通す
gfortranコンパイラを含むmingw64をインストール、もしくはダウンロードして展開しただけでは、gfortranコンパイルの実行ファイル「gfortran.exe」がどこあるか、コンピュータにはわかりません。このため、コマンドプロンプトを立ち上げて、「gfortran⏎」と打っても、下図のようにgfortranをコマンドとして認識してくれません。(インストーラを使ってインストールできた場合は、もしかしたら認識してくれる場合もあるかもしれません。その場合は、以下の作業は不要です。)
そこでコンピュータにgfortran.exeの在り処を教えるために、「path」を通します。つまり、「pathを通す」とは、コンピューターに実行ファイルの在り処を教えることです。
windows10の場合、スタートボタンを右クリックし、「システム」を選択します。これにより「コントロールパネル\システムとセキュリティ\システム」が開きます。
開いたウィンドウの右側の画面をスクロールしていくと、下の方に「システム情報」がある。それを左クリックする。
開いたウィンドウの左側にある、「システムの詳細」を選択(左クリック)し、「システムのプロパティ」ウィンドウを開く。
開いた「システムのプロパティ」ウィンドウの「環境変数」を選択し、「環境変数」ウィンドウを開く。
開いた「環境変数」ウィンドウ中の「ユーザー環境変数」の「path」を選択し、「編集」ボタンを押す。
開いた「環境変数名の編集」ウィンドウの新規ボタンを押す。
新規ボタンを押すと、新たな行(上図の場合は2行目迄が埋まっているので3行目)が入力できる状態となる。ここに、gfortran.exeが格納されているフォルダの場所を絶対パスで入力する。エクスプローラでgfortran.exeが格納しているフォルダを開き、アドレスバーにカーソルを合わせて右クリックし、展開されたメニュー中の「アドレスのコピー」を選択することで、gfortran.exeが格納されているフォルダの絶対パスがコピーされる。格納されているフォルダは、インストーラを使用してmingw-64をインストールできた場合は、「C:\Program Files\mingw-w64\x86_64-8.1.0-posix-seh-rt_v6-rev0\mingw64\bin」である。(x86_64-8.1.0-posix-seh-rt_v6-rev0の”8.1.0-“等はインストールしたバージョンによって異なる。エクスプローラで、PCàwindows(C:)àProgram Filesàmingw-w64à x86_64-8.1.0-posix-seh-rt_v6-rev0à mingw64àbinの順で開いていくと、binフォルダ内にgfortran.exeがあることが分かる。)
上記アドレスcopyを行った後、再度「環境変数名の編集」ウィンドウを選択し、「新規」ボタンを押し、新たな行に入力できるよう状態にして、「cntl」+「v」でアドレスをペーストする。アドレスをペースト出来たら、「OK」ボタンを押して、ウィンドウを閉じる。
「環境変数」ウィンドウの「OK」ボタンを押して閉じ、「システムのプロパティ」ウィンドウも同様に「OK」ボタンを押して閉じる。「コントロールパネル¥システムとセキュリティ¥システム」ウィンドウを閉じる。
この状態で、既に開いていたコマンドプロンプトで「gfortran⏎」とうっても、下記エラーが表示されるだけで、「path」を通す前と状況は変わらない。
一旦、「コマンドプロンプト」ウィンドウを閉じて、再度コマンドプロンプトを起動し、新たに立ち上がった「コマンドプロンプト」ウィンドウにて「gfortran⏎」とすると、先ほどとは異なる鰓メッセージが表示される。
上記エラーは、”no
input files” つまり、gfortranによるコンパイラは起動しているが、コンパイルするプログラムを指定していないので、「コンパイルするファイルがないです」というメッセージであるà きちんと「path」が設定され、コンピュータにgfortran.exeの在り処を教えることができている。これで、コマンドプロンプトを立ち上げればgfortranによるコンパイルが可能となった。
もし、コマンドプロンプトを再起動して「gfortran⏎」と打っても、前のエラーと変わらず「'gfortran’は、内部コマンド、または外部コマンド・・・認識されません。」と表示された場合は、「path」の設定を失敗している。再度、「path」の設定手順を見直して、どこかでミスっていないか確認すること。