パソコンでプログラミングしよう ウィンドウズC++プログラミング環境の構築
1.6.3.6(15)
サイトバージョン1.3.X.X

サイトバージョン1.3.X.Xの導入ソフトウェアバージョンを示し、サイト記述の変更をまとめる。

導入ソフトウェアバージョン

2022年01月01日確認。

導入 ソフトウェア バージョン ステータス
MSYS2 MSYS2ランタイム 3.3.3-3 更新
mingw-w64コンパイラ(32ビット) 11.2.0-5 更新
mingw-w64コンパイラ(64ビット) 11.2.0-5 更新
boostライブラリ 1.78.0-1 更新
wxWidgetsライブラリ 3.0.5.1-7 更新
Doxygen 1.9.2-2 更新
Graphviz 2.44.1-9 更新
GIMP 2.10.24-5 更新
インストーラ Code::Blocks 20.03 -
Git for Windows 2.34.1.1-64-bit 更新
Sourcetree 3.4.7 更新
Poedit 3.0.1 更新
HTML Help Workshop 1.3(4.74.8702.0) -
Inno Setup 6.2.0 更新
自作ツール KGetText 2.0.1.3 -
KUdCheck 2.2.1.3 -
KAutoVer 2.2.1.1 -
KGitWVer 2.1.0.1 -

サイト記述の変更

MSYS2

サイト記述は変更しないがpacman -Syuuに失敗したためMSYS2を再インストールした。失敗報告は循環依存警告や信頼できない署名エラーなど多数で深追いせず再インストールを決断した。

  1. C:\msys64配下に作成したデータファイルがあればバックアップ。
  2. [設定|アプリ|アプリと機能]あるいは[コントロール パネル|プログラム|プログラムと機能]からMSYS2 64bitをアンインストール。進捗表示ダイアログが100に達してからかなり遅れて完了。C:\msys64ディレクトリが削除されている事を確認。
  3. MSYS2の導入コンパイラの導入ライブラリの導入ドキュメンテーションツールの導入追加MSYS2ツールの導入画像編集ツールの導入を順次実行。

mingw-w64

GCCバージョンアップでmingw-w64がデフォルトで選択する準拠規格が-std=gnu++14から-std=gnu++17に変更された(GCC 11.2 Manual 2.2 C++ Language)。これに伴い以下を変更した。

  • コンパイラ。デフォルトの準拠規格を-std=gnu++17に変更。

wxWidgetsライブラリ/MSYS2

デスクトップアプリケーション動作確認などに必要とするスタティックライブラリを変更した。サイトバージョン1.2.X.Xで言及したようにMSYS2供給(例えばlibtiff.a)とwxWidgetsバンドル(libwxtiff-3.0.a)のどちらをリンクするべきか不明確としてきたが、wxWidgetsバンドルの優先に統一する。

wxWidgets MSYS2 動作確認に必要なスタティックライブラリ
3.0.5.1-7 3.3.3-3 libwx_mswu_core-3.0.a, libwx_baseu-3.0.a, libwxtiff-3.0.a, libwxjpeg-3.0.a, libwxpng-3.0.a, libwxzlib-3.0.a, liblzma.a, libjbig.a

これに伴い以下を変更した。

なお今回のアップデートでlibtiff.aの依存ライブラリにLERCライブラリが追加されたが、現時点でスタティック(libLerc.a)が存在せずダイナミック(libLerc.dll/libLerc.dll.a)のみとなっている。MSYS2導入のwxWidgetsはlibwxtiff-3.0.aを使う事でこの問題を回避できるが、自分でビルドしたwxWidgetsではアプリケーション配布にlibLerc.dllを加える必要がある。あるいはtiffライブラリを使用しなければ、configureに--without-libtiffを加えてビルドしたwxWidgetsで余分なdll配布を省ける。この問題は開発者も認識していて次リリースでの修正が期待できる。

ドキュメント

参考ドキュメントの導入統合開発環境のカスタマイズ(2)で以下を変更した。コンパイラのGCCドキュメントも変更した。

  • C++20ドラフト(JTC1_SC22_WG21 N4861)に変更した。
  • C++23ドラフト(JTC1_SC22_WG21 N4901)に変更した。
  • GCCドキュメントを11.2に変更した。
  • boostドキュメントを1.78.0に変更した。
  • Doxygenドキュメントを1.9.2に変更した。