差分
このページの2つのバージョン間の差分を表示します。
両方とも前のリビジョン 前のリビジョン 次のリビジョン | 前のリビジョン | ||
c_cpp:wxwidgets [2019/02/10 08:27] – [Windows 10 上の Visual C++ 2019 でビルドする場合] ともやん | 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: | ||
行 71: | 行 80: | ||
> nmake /f makefile.vc BUILD=release SHARED=1 | > nmake /f makefile.vc BUILD=release SHARED=1 | ||
</ | </ | ||
- | - 以下のように< | + | - 以下のようにコンパイルが開始される。< |
Microsoft(R) Program Maintenance Utility Version 14.20.27305.0 | Microsoft(R) Program Maintenance Utility Version 14.20.27305.0 | ||
Copyright (C) Microsoft Corporation. | Copyright (C) Microsoft Corporation. | ||
行 84: | 行 92: | ||
regerror.c | regerror.c | ||
</ | </ | ||
+ | - ビルドが完了すると以下の出力が得られる。< | ||
+ | include path: %WXWIN%\include; | ||
+ | library path(x86): %WXWIN%\lib\vc_lib | ||
+ | library path(x64): %WXWIN%\lib\vc_x64_lib | ||
+ | </ | ||
+ | |||
==== サンプルアプリケーションのビルド ==== | ==== サンプルアプリケーションのビルド ==== | ||
以下の方法にて必要なサンプルのみをビルド/ | 以下の方法にて必要なサンプルのみをビルド/ | ||
- | - 「スタート」の「Visual Studio 2019」より「x64 Native Tools Command Prompt for VS 2019」を起動して、以下のコマンドを入力する。< | + | - 「スタート」の「Visual Studio 2019」より「x86 Native Tools Command Prompt for VS 2019」または「x64 Native Tools Command Prompt for VS 2019」を起動して、以下のコマンドを入力する。< |
> cd %WXWIN%\samples | > cd %WXWIN%\samples | ||
> nmake /f makefile.vc | > nmake /f makefile.vc | ||
- | </ | + | </ |
- | サンプルアプリケーションのwxAUIデモの実行\\ | + | サンプルアプリケーションの wxAUI デモの実行\\ |
{{: | {{: | ||
行 159: | 行 173: | ||
==== コンパイル時に「エラー: | ==== コンパイル時に「エラー: | ||
+ | 古い wxWidgwts では wxOVERRIDE が未定義である為に発生する。\\ | ||
+ | 最新のライブラリを使えば問題は解決するが、自分で wxOVERRIDE を定義する事で回避可能でどのバージョンの wxWidgets でもコンパイルが可能になる。\\ | ||
< | < | ||
sample.cpp: | sample.cpp: | ||
行 169: | 行 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:// | ||
===== 参考文献 ===== | ===== 参考文献 ===== |