スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

【同じタグを付けた記事の一覧】

wxWidgets 3.1.0 を MinGW でビルド

2016年04月30日(土)23時59分

wxWidgets

クロスプラットフォームな GUI ライブラリである wxWidgetsMinGW でビルドします。
ここ数回で進めている「Code::Blocks をポータブルに使う」ための環境構築(「CodeBlocks」タグで一覧可能)の一環ではありますが、今回は Code::Blocks の出番はありません。

フォルダ構成

ポータブル運用が目的であるため、MinGW は環境変数の設定などはしておらず、たんにファイル群を特定フォルダ以下に展開しただけの状態になっています。
そのフォルダ構成は Code::Blocks の位置をルート(「$(CodeBlocks)」)とすると、以下の通りです。

$(CodeBlocks) Compilers MinGW 32 MinGW 4.8.1」格納フォルダ
64 Mingw-w64 5.2.0」格納フォルダ

今回は上記に wxWidgetsMinGW 32ビット版と64ビット版が加わり、以下のようになります。

$(CodeBlocks) Compilers MinGW 32 MinGW 4.8.1」格納フォルダ
64 Mingw-w64 5.2.0」格納フォルダ
Libraries wxWidgets MinGW 32 wxWidgets 3.1.0(32ビット版)」格納フォルダ
64 wxWidgets 3.1.0(64ビット版)」格納フォルダ

wxWidgets 3.1.0 をダウンロード

wxWidgets はバージョン「2.8.x」の時代が長く、 メジャーバージョンが上がった「3.0.x」が出たのはわりに最近の話です。
そしてさらに今はマイナーバージョンも上がった「3.1.0」がリリースされています。
前述のとおり「2.8.x」時代が長かったため、ネット上に存在する関連情報やオープンソースプロジェクトは「2.8.x」を前提にしたものが多かったりするのですが、いずれは新しいもので置き換わっていくのだろうということで、今回は最新である「3.1.0」を使うことにしました。
ということで、Downloads ページから「Source Code」欄にある「Windows ZIP(または Windows 7Z)」をダウンロードします。

wxWidgets の展開と配置

目的は「Code::Blocks を軸に丸ごと持ち運べる開発環境」の構築です。
いずれは wxWidgets 以外の何かしらのライブラリも追加するかもしれませんので、Code::Blocks フォルダ内に「Libraries」フォルダを作り、wxWidgets はそこに配置することにしました。
つまり「$(CodeBlocks)\Libraries\wxWidgets」フォルダを生成し、その中にダウンロードした wxWidgets を解凍(展開)して得られたファイル群を配置します。
さらに、上記ファイル群をビルドして得られる DLL 等の生成物を置いておくため場所として、 「wxWidgets」フォルダ以下に「MinGW\32」フォルダと「MinGW\64」フォルダも作っておきます。

「MONOLITHIC な Static 版」と「非 MONOLITHIC な Dynamic 版」を作る

wxWidgets のビルドに入る前に、いくつかの方針を決める必要があります。

「ANSI」か「Unicode」か

まず、「ANSI」か「Unicode」かについては、wxWidgets 3.0 からは「Unicode」がデフォルトとなり、「ANSI」は非推奨で近い将来サポート外になると書かれていますので、「Unicode」一択です。

「Release」のみか「Debug」もか

次に、「Release」のみにするか「Debug」も作るかですが、何か困った時に Debug 版も必要になるかもしれないため、一応「Release」と「Debug」の両方を作ります。

「Static(静的リンク版)」か「Dynamic(DLL版)」か

また、「Static(静的リンク版)」か「Dynamic(DLL版)」かの選択肢も「両方」です。
個人的には「実行ファイルひとつ」が好みであるため静的リンク版しか使わない気もしますが、いつか使う可能性もないとは言えないため DLL 版も作ることにしました。

「MONOLITHIC(全機能を一ファイルにまとめる)」か「非MONOLITHIC(機能ごとに別々のファイルに分割)」か

そして、「静的リンク版はMONOLITHIC」、「DLL 版は非 MONOLITHIC」でビルドします。
本来 Static 版こそ非 MONOLITHIC で作り、選択的にリンクすることでバイナリサイズを減らすべきものだと思うのですが、実際に簡単なサンプルを Code::Blocks でビルドして試したところ、生成される実行ファイルのサイズに大差はありませんでした。
おそらくリンク時に不要な部分を削り取ってくれるオプションのようなものが付けられているのかと思いますが、そういうことであれば生成時にいちいち「どの機能が必要なのか」を考える必要がなく、まとめてひとつ指定するだけの MONOLITHIC 版の方が簡単でいいということになります。
そして Dynamic 版の方ですが、わざわざ「要 DLL な実行ファイル」をビルドしている時点で、配布時のファイル数の増加などは諦めていると思われますので、機能ごとにばらばらにファイル化されていても問題ないはず、ということから非 MONOLITHIC に決定しました。

32ビット版のビルド

ということで、まずは32ビット版をビルドします。
まず「$(CodeBlocks)\Libraries\wxWidgets\MinGW\32」フォルダに以下の内容をコピーした BAT ファイル「wxWidgets_MinGW_32_Build.bat」を作ります(別にファイル名は何でもいいのですが)。

::各種パス設定。先頭「CODEBLOCKS」にルートを設定することで全体の位置を制御可能。
SET CODEBLOCKS=D:\PortableApps\CodeBlocks
SET MINGW=%CODEBLOCKS%\Compilers\MinGW\32
SET WXWIDGETS=%CODEBLOCKS%\Libraries\wxWidgets
SET PATH=%MINGW%\bin
cd /d "%WXWIDGETS%\build\msw"

::事前に「%WXWIDGETS%\lib\gcc_lib\mswu\wx\msw」「\wxWidgets\lib\gcc_lib\mswud\wx\msw」フォルダを生成しておかないとビルド時にファイルコピーに失敗し詰まる。
IF NOT EXIST %WXWIDGETS%\lib mkdir %WXWIDGETS%\lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib mkdir %WXWIDGETS%\lib\gcc_lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu mkdir %WXWIDGETS%\lib\gcc_lib\mswu
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud mkdir %WXWIDGETS%\lib\gcc_lib\mswud
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu\wx mkdir %WXWIDGETS%\lib\gcc_lib\mswu\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud\wx mkdir %WXWIDGETS%\lib\gcc_lib\mswud\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu\wx\msw mkdir %WXWIDGETS%\lib\gcc_lib\mswu\wx\msw
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud\wx\msw mkdir %WXWIDGETS%\lib\gcc_lib\mswud\wx\msw

::以下Buildコマンド群。
::「-j4」は並行処理数の指定でCPUのコア数に応じて設定。
::末尾の「2>&1」は標準出力と標準エラーを同一のファイルにリダイレクトするためのコマンド。
::「%~dp0」は実行しているBATファイルのパス。

::「静的リンク + 非モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build00R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build00D.log 2>&1

::「静的リンク + モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build01R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build01D.log 2>&1

::事前に「%WXWIDGETS%\lib\gcc_dll\mswu\wx\msw」「\wxWidgets\lib\gcc_dll\mswud\wx\msw」フォルダを生成しておかないとビルド時にファイルコピーに失敗し詰まる。
IF NOT EXIST %WXWIDGETS%\lib mkdir %WXWIDGETS%\lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll mkdir %WXWIDGETS%\lib\gcc_dll
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu mkdir %WXWIDGETS%\lib\gcc_dll\mswu
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud mkdir %WXWIDGETS%\lib\gcc_dll\mswud
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu\wx mkdir %WXWIDGETS%\lib\gcc_dll\mswu\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud\wx mkdir %WXWIDGETS%\lib\gcc_dll\mswud\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu\wx\msw mkdir %WXWIDGETS%\lib\gcc_dll\mswu\wx\msw
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud\wx\msw mkdir %WXWIDGETS%\lib\gcc_dll\mswud\wx\msw

::「動的リンク + 非モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build10R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build10D.log 2>&1

::「動的リンク + モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build11R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_32_Build11D.log 2>&1

pause

上記 BAT ファイルを実行する前に、最低限2行目の「SET CODEBLOCKS=C:\CodeBlocks」の部分を、実際の Code::Blocks 配置フォルダ位置に書き換える必要があります。
また、各ビルドコマンドについている「-j4」は並行処理数の指定です。
自分が現在4コアの CPU を使用しているため「-j4」としていますが、ビルドに使用する PC の CPU(コア)数に合わせて書き換えます。
もう一つ、「-std=gnu++11」オプションについてですが、3.1.0 では付けても付けなくてもビルドできますのでどちらでも構いません(付ける場合は「CXXFLAGS+="-O3 」のうしろ辺りに追加)。
ただし 3.0.2 で64ビット版の場合は「-std=gnu++11」を付けないとビルド不可でした(32ビット版はなぜか付けなくてもビルド可能)。
書き換えが済めば BAT ファイル実行でビルドを開始します。
ちなみに全ビルド完了までにかなりの時間を要しました(うちの環境では確か1時間と少しぐらい)。

32ビット版の配置と clean

ビルドが完了したら「$(CodeBlocks)\Libraries\wxWidgets」フォルダの「include」と「lib」の2フォルダを「$(CodeBlocks)\Libraries\wxWidgets\MinGW\32」フォルダにコピーします。
…実際のところ「include」フォルダは32ビット版も64ビット版も同一で、ビルド時に何かの変化があるわけではありません。
わざわざコピーするのは Code::Blocks のウィザードで wxWidgets のプロジェクトを生成すると「include」と「lib」が同じ場所に存在することを前提とした設定がされてしまうため、別々の位置に置いておくと余計な手間がかかるためです。
なのでプロジェクト生成後に手動で指定するという場合は、「include」フォルダのコピーは不要ということになります。
コピーが終われば、32ビット版をビルドするために生成された各種ファイルの削除作業です。
「$(CodeBlocks)\Libraries\wxWidgets\MinGW\32」フォルダに以下の内容をコピーした BAT ファイル「wxWidgets_MinGW_32_Clean.bat」を作り、必要箇所を書き換え(書き換えるポイントはビルド BAT と同じ)た上で実行します。

::各種パス設定。先頭「CODEBLOCKS」にルートを設定することで全体の位置を制御可能。
SET CODEBLOCKS=C:\CodeBlocks
SET MINGW=%CODEBLOCKS%\Compilers\MinGW\32
SET WXWIDGETS=%CODEBLOCKS%\Libraries\wxWidgets
SET PATH=%MINGW%\bin
cd /d "%WXWIDGETS%\build\msw"

::以下Cleanコマンド群。
::CleanコマンドはBuildコマンドの末尾に「clean」をつけるだけ。
::「-j4」は並行処理数の指定でCPUのコア数に応じて設定。
::末尾の「2>&1」は標準出力と標準エラーを同一のファイルにリダイレクトするためのコマンド。
::「%~dp0」は実行しているBATファイルのパス。

::「静的リンク + 非モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean00R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean00D.log 2>&1

::「静的リンク + モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean01R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean01D.log 2>&1

::「動的リンク + 非モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean10R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean10D.log 2>&1

::「動的リンク + モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean11R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_32_Clean11D.log 2>&1

pause

64ビット版のビルド

次は64ビット版のビルドですが、大体「32」の部分が「64」に変わる程度の違いしかありませんので、以下に「wxWidgets_MinGW_64_Build.bat」と「wxWidgets_MinGW_64_Clean.bat」だけを貼っておきます。

wxWidgets_MinGW_64_Build.bat

::各種パス設定。先頭「CODEBLOCKS」にルートを設定することで全体の位置を制御可能。
SET CODEBLOCKS=C:\CodeBlocks
SET MINGW=%CODEBLOCKS%\Compilers\MinGW\64
SET WXWIDGETS=%CODEBLOCKS%\Libraries\wxWidgets
SET PATH=%MINGW%\bin
cd /d "%WXWIDGETS%\build\msw"

::事前に「%WXWIDGETS%\lib\gcc_lib\mswu\wx\msw」「\wxWidgets\lib\gcc_lib\mswud\wx\msw」フォルダを生成しておかないとビルド時にファイルコピーに失敗し詰まる。
IF NOT EXIST %WXWIDGETS%\lib mkdir %WXWIDGETS%\lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib mkdir %WXWIDGETS%\lib\gcc_lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu mkdir %WXWIDGETS%\lib\gcc_lib\mswu
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud mkdir %WXWIDGETS%\lib\gcc_lib\mswud
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu\wx mkdir %WXWIDGETS%\lib\gcc_lib\mswu\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud\wx mkdir %WXWIDGETS%\lib\gcc_lib\mswud\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswu\wx\msw mkdir %WXWIDGETS%\lib\gcc_lib\mswu\wx\msw
IF NOT EXIST %WXWIDGETS%\lib\gcc_lib\mswud\wx\msw mkdir %WXWIDGETS%\lib\gcc_lib\mswud\wx\msw

::以下Buildコマンド群。
::「-j4」は並行処理数の指定でCPUのコア数に応じて設定。
::末尾の「2>&1」は標準出力と標準エラーを同一のファイルにリダイレクトするためのコマンド。
::「%~dp0」は実行しているBATファイルのパス。

::「静的リンク + 非モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build00R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build00D.log 2>&1

::「静的リンク + モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build01R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build01D.log 2>&1

::事前に「%WXWIDGETS%\lib\gcc_dll\mswu\wx\msw」「\wxWidgets\lib\gcc_dll\mswud\wx\msw」フォルダを生成しておかないとビルド時にファイルコピーに失敗し詰まる。
IF NOT EXIST %WXWIDGETS%\lib mkdir %WXWIDGETS%\lib
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll mkdir %WXWIDGETS%\lib\gcc_dll
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu mkdir %WXWIDGETS%\lib\gcc_dll\mswu
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud mkdir %WXWIDGETS%\lib\gcc_dll\mswud
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu\wx mkdir %WXWIDGETS%\lib\gcc_dll\mswu\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud\wx mkdir %WXWIDGETS%\lib\gcc_dll\mswud\wx
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswu\wx\msw mkdir %WXWIDGETS%\lib\gcc_dll\mswu\wx\msw
IF NOT EXIST %WXWIDGETS%\lib\gcc_dll\mswud\wx\msw mkdir %WXWIDGETS%\lib\gcc_dll\mswud\wx\msw

::「動的リンク + 非モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build10R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build10D.log 2>&1

::「動的リンク + モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build11R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" > %~dp0wxWidgets_MinGW_64_Build11D.log 2>&1

pause

wxWidgets_MinGW_64_Clean.bat

::各種パス設定。先頭「CODEBLOCKS」にルートを設定することで全体の位置を制御可能。
SET CODEBLOCKS=C:\CodeBlocks
SET MINGW=%CODEBLOCKS%\Compilers\MinGW\64
SET WXWIDGETS=%CODEBLOCKS%\Libraries\wxWidgets
SET PATH=%MINGW%\bin
cd /d "%WXWIDGETS%\build\msw"

::以下Cleanコマンド群。
::CleanコマンドはBuildコマンドの末尾に「clean」をつけるだけ。
::「-j4」は並行処理数の指定でCPUのコア数に応じて設定。
::末尾の「2>&1」は標準出力と標準エラーを同一のファイルにリダイレクトするためのコマンド。
::「%~dp0」は実行しているBATファイルのパス。

::「静的リンク + 非モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean00R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean00D.log 2>&1

::「静的リンク + モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean01R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=0 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean01D.log 2>&1

::「動的リンク + 非モノリシック」。
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean10R.log 2>&1
mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=0 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean10D.log 2>&1

::「動的リンク + モノリシック」。
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=release CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean11R.log 2>&1
::mingw32-make -j4 -f makefile.gcc USE_QA=1 SHARED=1 MONOLITHIC=1 UNICODE=1 BUILD=debug CFLAGS+="-O3" CXXFLAGS+="-O3 -fno-keep-inline-dllexport" clean > %~dp0wxWidgets_MinGW_64_Clean11D.log 2>&1

pause

wxWidgets の使い方

次回Code::Blocks のウィザードで wxWidgets のプロジェクトを作って動作確認を行います。
その他の作業については「CodeBlocks」タグから一覧可能です。

関連記事

【同じタグを付けた記事の一覧】
プログラミング ポータブル C++ CodeBlocks wxWidgets

スポンサーサイト

コメントの投稿

非公開コメント

最新記事
最新コメント
Amazonおまかせリンク
カテゴリ
タグクラウド
Amazonお買い得ウィジェット
カレンダー
05 | 2017/06 | 07
- - - - 1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 -
月別アーカイブ
プロフィール

電脳太助

Author:電脳太助
Website:電脳スピーチ web

RSSリンクの表示
メールフォーム

名前:
メール:
件名:
本文:

サイト内検索
Ads by Google
FC2アクセスランキング
Ads by Google
FC2拍手ランキング
ユーザータグ

音楽管理(66)
ポータブル(57)
ソフト紹介(44)
プログラミング(42)
音声技術(41)
自作ソフト(35)
サイト運営(32)
FC2(31)
ブログ(30)
iTunes(27)
Windows(25)
LISMO(24)
音声合成(23)
音声認識(22)
x-アプリ(22)
電子ブック(22)
eラーニング(20)
バックアップ(19)
語学学習(19)
foobar2000(18)
ソースコード(18)
WindowsLiveWriter(15)
画像管理(15)
C++(14)
アフィリエイト(10)
DnspTools(10)
fi-6130(9)
FLAC(9)
JavaScript(9)
ウォークマン(9)
英語音読学習計画(8)
Gracenote(8)
Prolog(8)
ベクター(8)
雑記(8)
CodeBlocks(7)
SyntaxHighlighter(7)
TraConv(7)
spcbght(7)
wxWidgets(7)
VirtualBox(6)
W63CA(6)
DCP-J552N(6)
WinRT(6)
WindowsLiveMesh(6)
iGoinLM(6)
英語発音矯正実験(6)
ExactAudioCopy(6)
MP3Gain(6)
LAME(5)
音楽技術(5)
Mery(5)
楽器演奏(5)
GalateaTalk(4)
nLite(4)
WindowsLiveSkyDrive(4)
ホームページ(4)
GalateaProject(4)
MIDI(4)
LLVM(4)
PC-98(3)
カウンター(3)
AACGain(3)
iTCDini(3)
OverCutChecker(3)
拍手(3)
PK-513L(3)
UniversalExtractor(3)
アクセスランキング(3)
ImageCompositeEditor(2)
アクセス解析(2)
OCR(2)
qtaacenc(2)
資格試験(1)
AquesTalk(1)
AquesCmdDl(1)

FC2アクセスランキング
最新トラックバック
アクセスランキング
[ジャンルランキング]
コンピュータ
111位
アクセスランキングを見る>>

[サブジャンルランキング]
ソフトウェア
12位
アクセスランキングを見る>>
FC2カウンター
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。