So-net無料ブログ作成
検索選択

Hello wxWidgets

wxWidgets を VS2015 でビルドしましたが、ビルドできたか確認
するため、かつ1からお勉強するために、サンプルをビルドしました。

大量に Sample があって素晴らしいですが、 minimal という最小コード
っぽいのが入っていたのでこれを使いました。

1. VS2015 で minimal_vc9.vcxproj を開く
2. ビルド
3. 実行
4. ウインドウが出た!

hellowxwidgets.png

デフォルトでは構成が "Debug" になっていて、ビルドの設定は以下のように
なっていました。

Debug 構成

インクルードディレクトリ
.\..\..\lib\vc_lib\mswud;.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)

プリプロセッサ
WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;
_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;_WINDOWS;NOPCH;
%(PreprocessorDefinitions)


コード生成
マルチスレッドデバッグ DLL(/MDd)

ライブラリディレクトリ
.\..\..\lib\vc_lib;%(AdditionalLibraryDirectories)

追加の依存ファイル
wxmsw31ud_core.lib;wxbase31ud.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;
wxzlibd.lib;wxregexud.lib;wxexpatd.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)


Release 構成

インクルードディレクトリ
.\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)

プリプロセッサ
WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;
_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;_WINDOWS;NOPCH;
%(PreprocessorDefinitions)


コード生成
マルチスレッド DLL(/MD)

ライブラリディレクトリ
Debug 構成と同じ

追加の依存ファイル
wxmsw31u_core.lib;wxbase31u.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;
wxzlib.lib;wxregexu.lib;wxexpat.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)


DLL Debug 構成

インクルードディレクトリ
.\..\..\lib\vc_dll\mswud;.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)

プリプロセッサ
WIN32;_DEBUG;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;
_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;
%(PreprocessorDefinitions)


コード生成
マルチスレッドデバッグ DLL (/MDd)

ライブラリディレクトリ
.\..\..\lib\vc_dll;%(AdditionalLibraryDirectories)

追加の依存ファイル
wxmsw31ud_core.lib;wxbase31ud.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;
wxzlibd.lib;wxregexud.lib;wxexpatd.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)


DLL Release 構成

インクルードディレクトリ
.\..\..\lib\vc_dll\mswu;.\..\..\include;.;.\..\..\samples;%(AdditionalIncludeDirectories)

プリプロセッサ
WIN32;_CRT_SECURE_NO_DEPRECATE=1;_CRT_NON_CONFORMING_SWPRINTFS=1;
_SCL_SECURE_NO_WARNINGS=1;__WXMSW__;NDEBUG;_UNICODE;WXUSINGDLL;_WINDOWS;NOPCH;
%(PreprocessorDefinitions)


コード生成
マルチスレッドDLL(/MD)

ライブラリディレクトリ
.\..\..\lib\vc_dll;%(AdditionalLibraryDirectories)

追加の依存ファイル
wxmsw31u_core.lib;wxbase31u.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;
wxzlib.lib;wxregexu.lib;wxexpat.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)


その他

DLL Debug でビルドした場合は、実行前に samples\minimal\vc_mswuddll に 上記 lib\vc_dll
ディレクトリから wxbase310ud_vc_custom.dll と wxmsw310ud_core_vc_custom.dl
を探してきてコピーする必要がありました。

インクルードディレクトリの samples は外してもビルド通りました。
ほかのサンプルでは使っているかもしれませんが、 miniumal では不要です。

追加の依存ファイルが大量なのと、プリプロセッサの設定が必要なのは
ハマりどころかもしれません。普通はインクルードとライブラリくらいしか設定しないので。

まとめ

自分でプロジェクトを作るときは次のように設定すればよい。

dll を使うとき

インクルード
- lib\vc_dll\mswud
- include
プリプロセッサ
__WXMSW__;_UNICODE;WXUSINGDLL
ライブラリパス
- lib\vc_dll
追加の依存ファイル
- デバッグ
wxmsw31ud_core.lib;wxbase31ud.lib;wxtiffd.lib;wxjpegd.lib;wxpngd.lib;
wxzlibd.lib;wxregexud.lib;wxexpatd.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)

- リリース
wxmsw31u_core.lib;wxbase31u.lib;wxtiff.lib;wxjpeg.lib;wxpng.lib;
wxzlib.lib;wxregexu.lib;wxexpat.lib;kernel32.lib;user32.lib;
gdi32.lib;comdlg32.lib;winspool.lib;winmm.lib;shell32.lib;shlwapi.lib;
comctl32.lib;ole32.lib;oleaut32.lib;uuid.lib;rpcrt4.lib;advapi32.lib;
version.lib;wsock32.lib;wininet.lib;%(AdditionalDependencies)


static link するとき

インクルード
- lib\vc_lib\mswud
- include
プリプロセッサ
__WXMSW__;_UNICODE;
ライブラリパス
- lib\vc_lib
追加の依存ファイル
- 前述 dll を使うときと同じ


nice!(0)  コメント(0)  トラックバック(0) 

nice! 0

コメント 0

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。