はじめに
GitHub Actions で Visual Studio 2022 の VC プロジェクトをコンパイルするためのメモ。
30年ぶりに Visual C++ 環境をさわったおっさんが、 IDE 環境の設定内容も含めて忘れないようにメモをしておく。
達人級の人のメモが多いので試行錯誤して、まずはHello World のプロジェクトをコンパイルする。
準備
Visual Studio 2022 Community をダウンロードをしてインストールする。
プロジェクト作成とコンパイル
プロジェクトの作成
[ファイル]メニューにある [新規作成] - [プロジェクト] をクリック
言語から「C++」を選択し [コンソールアプリ] を選択
以下の3つを設定
- プロジェクト名
- 場所 (保存場所)
- ソリューション名
勝手に HelloWorld の C言語のソースが出来上がる
コンパイル (デバッグ実行)
メニューの[デバッグ] から [デバッグの開始] を選択すると実行される。
GitHub のレポジトリ登録
上記で作成をしたプロジェクトを、そのまま GitHub に登録(プッシュ) すると以下のようになる。
GitHub Actions でコンパイル
左上にある New workflow をクリックして GitHub Actions のワークフローのテンプレートを用意。
MSBuild baseed projects を選択すると VisualC++ の Workflow プロジェクトが開始される。
ビルド用の GitHub Actions のワークフロー設定が自動で出来上がるので、これを修正する。
以下のワークフローのファイルをレポジトリに登録する。
name: MSBuild
on:
workflow_dispatch:
branches:
- main
push:
branches: [ "main" ]
pull_request:
branches: [ "main" ]
env:
SOLUTION_FILE_PATH: .
build-matrix
BUILD_CONFIGURATION: Release
permissions:
contents: read
jobs:
build:
runs-on: windows-latest
steps:
- uses: actions/checkout@v3
- name: Add MSBuild to PATH
uses: microsoft/setup-msbuild@v1.0.2
- name: build app
run: |
msbuild -version
msbuild project\HelloWorld\HelloWorld\HelloWorld.vcxproj -t:rebuild -verbosity:diag -property:Configuration=Release
- name: exec Hello World
run: |
msbuild -version
dir project\HelloWorld\x64\Debug
cd project\HelloWorld\x64\Debug
HelloWorld.exe
shell: cmd
- [name: build app] セクション
** msbuild コマンドを実行してプロジェクトをコンパイル - [exec Hello World]セクション
** exe ファイルをコマンドプロンプトで実行 ( [shell: cmd] と記載すると、コマンドラインでの実行となる。pwsh として powershell コマンドプロンプトで実行させると、通常、画面上でコマンドの標準出力がでない。)
上記の(横)メニューにある Actions を選択する。そして、 左ペインの Actions で MSBuild を選択をして、右ペインの [Run Workflow] をクリックし、さらに [Run Workflow] をクリック
GitHub Actions の Workflow が実行される。
Work Flow の実行確認
実行中の WorkFlow をクリックすると name セクションごとに実行結果が出てくる。