msys2でインストールしたg++でvscodeで書いたソースコードをPowerShellでコンパイルする話

C++ コンピュータ
C++

Qt学習の為にWindows環境にmsys2でC++のビルド環境がインストールしてあります。
Qt学習の進捗状況は芳しくありませんが、今回はコマンドラインでcppファイルのコンパイルが出来ることを確認してみたいと思います。

コンパイラの確認

cppファイルののコンパイルコマンドは”g++.exe”とのことです。

ファイル名で検索したところ

“C:\Users\karet\scoop\apps\msys2\2025-08-30\mingw64\bin\g++.exe”

に”g++.exe”が見つかりました。

このような検索をする場合、フリーソフトのEverythingの高速検索のありがたみを感じます。

環境変数Pathの設定

“g++.exe”をパスを省略するためにPathを通します。

パスを設定する方法は色々ありますが、今回の場合PowerShellで扱うので$profileでセットします。

セットした内容。

$env:Path = $env:Path + ";C:\Users\karet\scoop\apps\msys2\current\mingw64\bin"

このPathは、PC環境により異なります。
また、前項で調べたg++の場所と異なりますが、scoopの最新版を指すショートカットにしてみました。

コンパイル確認

コンパイルするソースファイル

ファイル名:hello.cpp

#include <iostream>
int main(){
    std::cout << "Hello C++!" << std::endl;
    return 0;
}

こちらのソースコードをvscodeで作成し、hello.cppというファイル名で保存しました。

次にPowerShellで以下のコマンドでコンパイルします。

g++ hello.cpp -o hello.exe

成功してもメッセージが表示されません。このあたりg++が開発環境の文化を感じます。

lsでファイルを一覧を取得して見ます。

 ls

    Directory: J:\qtcpp\etc

Mode                 LastWriteTime         Length Name
----                 -------------         ------ ----
-a---          2025/12/06     0:22             95 hello.cpp
-a---          2025/12/06     0:23         124478 hello.exe

“hello.exe”が出来上がっていますので、コンパイルは成功した様です。

それでは、”hello.exe”を実行してみます。

 .\hello.exe
Hello C++!

メッセージが表示されましたので成功しています。

感想

プログラム学習で沢山サンプルコードを試しますが、毎度IDEを立ち上げたり、プロジェクトを作成したりするのは意外と大変ですので、単体ソースファルからバイナリへコンパイル出来ると便利です。
この方法が使えるモダンな言語は、Go言語やRust(未確認)が該当する模様。

Webでコードを実行出来るmyCompilerのようなサイトもありますので、学習するだけならこちらを使うのも良いと思います。

コメント