wxWidgets では以下の定数マクロを定義しています:
たとえば, wxWidgets 2.1.1.5 の場合,メジャーバージョン, マイナーバージョン,リリース番号の値はそれぞれ 2, 1, 1, 5 になります.
さらに, 完全なバージョン番号をユーザにとって読みやすい形の文字列で 表した wxVERSION_STRING と,上の三つの値を組み合わせた値である wxVERSION_NUMBER も定義しています: この値は, wxWidgets 2.1.1.5 の場合には 2115 に, wxWidgets 2.2 の場合には 2200 になります.
サブリリース番号は,ひとつの公式リリース内でソースコードを区別する のに使われるだけで,通常は不要なものです.
Include files
<wx/version.h> または <wx/defs.h>
コードのコンパイルに使っているコンパイラが GNU C++ (g++) の バージョン major.minor.release 以降である場合に 1 を返します. それ以外のバージョンの GNU C++ か,そもそも GNU C++ を使っていない 場合には0 を返します.
現在の wxWidgets バージョンが少なくとも major.minor.release 以降で ある場合に true を返します.
たとえば,プログラムを wxWidgets 2.2 以降を使ってコンパイルしているか どうかを調べたければ,以下のように書けます:
wxString s; #if wxCHECK_VERSION(2, 2, 0) if ( s.StartsWith("foo") ) #else // replacement code for old version if ( strncmp(s, "foo", 3) == 0 ) #endif { ... }
wxCHECK_VERSION と同じですが, wxSUBRELEASE_NUMBER がsubrel 以降かどうかも調べます.
使っている w32api ヘッダのバージョン番号が major.minor.release 以上 の場合に 1 を返します.それ以外の場合や,Win32 環境で mingw32 や cygwin を使ってコンパイルを行っていない場合には 0 を返します.