差分
このページの2つのバージョン間の差分を表示します。
| 両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
| c_cpp:wxwidgets [2019/02/10 08:45] – [サンプルアプリケーションのビルド] ともやん | c_cpp:wxwidgets [2020/02/02 17:38] (現在) – ともやん | ||
|---|---|---|---|
| 行 29: | 行 29: | ||
| > git submodule update --init | > git submodule update --init | ||
| </ | </ | ||
| + | |||
| ===== ビルド/ | ===== ビルド/ | ||
| + | |||
| ==== Linux でインストールする場合 ==== | ==== Linux でインストールする場合 ==== | ||
| wxGTK2\\ | wxGTK2\\ | ||
| 行 42: | 行 44: | ||
| ==== Linux でビルドする場合 ==== | ==== Linux でビルドする場合 ==== | ||
| + | 静的リンク | ||
| + | < | ||
| + | $ cd wxWidgets | ||
| + | $ ./configure --disable-shared | ||
| + | $ make | ||
| + | </ | ||
| + | 動的リンク | ||
| < | < | ||
| $ cd wxWidgets | $ cd wxWidgets | ||
| 行 49: | 行 58: | ||
| ==== Windows 10 上の Visual C++ 2019 でビルドする場合 ==== | ==== Windows 10 上の Visual C++ 2019 でビルドする場合 ==== | ||
| - | - タスクバーの「ここに入力して検索」に sysdm.cpl を入力して Enter キーを押す。 | + | - タスクバーの「ここに入力して検索」に |
| - | - 「システムのプロパティ」の「詳細設定」タブの[環境変数]ボタンを押して「環境変数」画面を開く。 | + | - 「システムのプロパティ」の「詳細設定」タブの [環境変数] ボタンを押して「環境変数」画面を開く。 |
| - | - 「環境変数」画面の[システム環境変数」の[新規]ボタンを押して以下の環境変数を登録する。< | + | - 「環境変数」画面の [システム環境変数」の [新規] ボタンを押して以下の環境変数を登録する。< |
| 変数名: WXWIN | 変数名: WXWIN | ||
| 変数値: C: | 変数値: C: | ||
| 行 164: | 行 173: | ||
| ==== コンパイル時に「エラー: | ==== コンパイル時に「エラー: | ||
| + | 古い wxWidgwts では wxOVERRIDE が未定義である為に発生する。\\ | ||
| + | 最新のライブラリを使えば問題は解決するが、自分で wxOVERRIDE を定義する事で回避可能でどのバージョンの wxWidgets でもコンパイルが可能になる。\\ | ||
| < | < | ||
| sample.cpp: | sample.cpp: | ||
| 行 174: | 行 185: | ||
| | | ||
| </ | </ | ||
| + | エラーを回避するコードの例は以下のようになる。(wxWidgets/ | ||
| + | <file cpp Common.h> | ||
| + | /* オーバーライドキーワードのサポートを確認する */ | ||
| + | #ifndef HAVE_OVERRIDE | ||
| + | #if __cplusplus >= 201103L | ||
| + | /* すべての C++11 コンパイラはそれを持つべきです */ | ||
| + | #define HAVE_OVERRIDE | ||
| + | #elif wxCHECK_VISUALC_VERSION(11) | ||
| + | /* | ||
| + | VC++ はバージョン8以降で override キーワードをサポートしていますが、C++11 の | ||
| + | | ||
| + | | ||
| + | |||
| + | | ||
| + | | ||
| + | | ||
| + | */ | ||
| + | #define HAVE_OVERRIDE | ||
| + | #elif WX_HAS_CLANG_FEATURE(cxx_override_control) | ||
| + | #define HAVE_OVERRIDE | ||
| + | #endif | ||
| + | |||
| + | #ifdef HAVE_OVERRIDE | ||
| + | #define wxOVERRIDE override | ||
| + | #else /* !HAVE_OVERRIDE */ | ||
| + | #define wxOVERRIDE | ||
| + | #endif /* HAVE_OVERRIDE */ | ||
| + | #endif /* !HAVE_OVERRIDE */ | ||
| + | </ | ||
| + | [[https:// | ||
| ===== 参考文献 ===== | ===== 参考文献 ===== | ||