バージョンに関するマクロ

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>



wxCHECK_GCC_VERSION



bool wxCHECK_GCC_VERSION( major, minor, release)

コードのコンパイルに使っているコンパイラが GNU C++ (g++) の バージョン major.minor.release 以降である場合に 1 を返します. それ以外のバージョンの GNU C++ か,そもそも GNU C++ を使っていない 場合には0 を返します.



wxCHECK_VERSION



bool wxCHECK_VERSION( major, minor, release)

現在の 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_FULL



bool wxCHECK_VERSION_FULL( major, minor, release, subrel)

wxCHECK_VERSION と同じですが, wxSUBRELEASE_NUMBERsubrel 以降かどうかも調べます.



wxCHECK_W32API_VERSION



bool wxCHECK_GCC_VERSION( major, minor, release)

使っている w32api ヘッダのバージョン番号が major.minor.release 以上 の場合に 1 を返します.それ以外の場合や,Win32 環境で mingw32 や cygwin を使ってコンパイルを行っていない場合には 0 を返します.



ymasuda 平成17年11月19日