業務でGLib周りのソースコード解析をWindows上で行う機会があり、DLLをデバッグビルドする必要があったので、その時の構築手順を備忘録としてまとめておく。
なお、GLibに限らず meson.build ファイルの用意されたプロジェクトであれば全て同様の手順でビルドが可能。
なお、GLibに限らず meson.build ファイルの用意されたプロジェクトであれば全て同様の手順でビルドが可能。
開発環境
OS
- Windows10 Pro (x64)
ツール
- Visual Studio(環境構築時は2015を使用)
- Git(https://gitforwindows.org/)
- Python(https://www.python.org/)
- Meson(Pythonインストール後、pip コマンドでインストール)
手順
① GLibのソースコードをダウンロード
上記URLから meson.build ファイルの含まれたバージョンのzipファイルをダウンロードする。
※あまり古いバージョンだと meson.build ファイルが用意されておらず今回の方法ではビルドできない。
② ソリューションファイルの作成
ダウンロードしたzipファイルを解凍後、Visual Studio の 開発者コマンド プロンプトを立ち上げ、GLibのソースコード格納先(meson.buildファイルが置かれたフォルダ)に移動して下記コマンドを実行する。
meson build --backend vs
暫くすると、buildフォルダ内にソリューションファイル(glib.sln)が生成される。
③ ビルド実行
生成されたソリューションファイルをVisual Studio から開いてビルド実行。(ビルドエラーが出た場合はエラーメッセージに従って対応)
⇒各モジュールのDLLが生成される
⇒各モジュールのDLLが生成される
注意点
一度ビルドが通っても、クリーンビルドを実行するとその後のビルドが通らなくなることがある。
これは、各プロジェクトで指定された中間ディレクトリ/出力ディレクトリ内に本来削除してはいけないファイル(.rcファイル等)が含まれており、これがクリーンビルド時のファイル削除に巻き込まれてしまっているため。
対策として、各プロジェクトの中間ディレクトリ/出力ディレクトリをそれ専用のものに変更することで回避が可能。
0 件のコメント:
コメントを投稿