続・wxDを使う
前にも同じ話題を書いた訳ですが、(http://d.hatena.ne.jp/ottu/20081102/1225651704)
また色々と変わった事があったので書き直し。
今回もインストールするフォルダとかは僕の環境で書いてしまうので、
参考にされる方は各々の環境に合わせて下さい。
D1.040/D2.025 からdmdフォルダの階層が変わったりしてるので、dmdのインストールから。
D公式(http://www.digitalmars.com/d/index.html)から、
最新dmd.zip と dmc.zip を取ってきて、適当なフォルダに解凍。
ex.) C:\Installed_Programs\dmd\D1\dmd
C:\Installed_Programs\dmd\D1\dm
wxD公式(http://wxd.sourceforge.net/)から最新版(現行はwxd-014)、
wxWidgets公式(http://www.wxwidgets.org/)から対応版(今回はwxWidgets-2.8.9)、
をそれぞれ取ってきて、適当なフォルダに解凍。
ex.) C:\Installed_Programs\dmd\D1\wxd
C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9
C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\build\msw に以下のバッチを作り、実行。
[build.bat] SET PATH=C:\Installed_Programs\dmd\D1\dmd\windows\bin;C:\Installed_Programs\dmd\D1dm\bin;%PATH% make -f makefile.dmc pause
C:\Installed_Programs\dmd\D1\wxd に以下のバッチを作り、実行。
[build.bat] SET PATH=C:\Installed_Programs\dmd\D1\dmd\windows\bin;C:\Installed_Programs\dmd\D1dm\bin;%PATH% SET WXDIR=C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9 make pause
C:\Installed_Programs\dmd\D1\wxd/Samples/Hello
に以下のバッチとリソースファイルを作り、バッチを実行。
[build.bat] SET PATH=C:\Installed_Programs\dmd\D1\dmd\windows\bin;C:\Installed_Programs\dmd\D1dm\bin;%PATH% SET WXDIR=C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9 dmd Hello.d ^ @Libs.rsc del *.obj del *.map pause
[Libs.rsc] -version=wx28 -version=__WXMSW__ -version=ANSI -IC:\Installed_Programs\dmd\D1\wxd C:\Installed_Programs\dmd\D1\wxd\wxd.lib C:\Installed_Programs\dmd\D1\wxd\wxc.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxbase28d.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxbase28d_xml.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxbase28d_net.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_core.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_adv.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_html.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_xrc.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_aui.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_media.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_qa.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxmsw28d_richtext.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxtiffd.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxjpegd.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxpngd.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxzlibd.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxregexd.lib C:\Installed_Programs\dmd\D1\wxWidgets-2.8.9\lib\dmc_lib\wxexpatd.lib kernel32.lib user32.lib gdi32.lib comdlg32.lib winspool.lib winmm.lib shell32.lib comctl32.lib ole32.lib oleaut32.lib uuid.lib rpcrt4.lib advapi32.lib wsock32.lib odbc32.lib -L/EXETYPE:NT -L/SU:WINDOWS:4.0
出来たexeを実行してみる。
動いたら喜ぶ。やったー!
前回のエントリでは Libs.rsc 辺りが全然分かっていなかったのでうやむやになっている所があったが、
今回最後に作ったバッチとリソースファイルを再利用すれば、そこら辺の問題も解決。
ちなみにwxDのサンプル、いくつか動かないのがあった。
原因はよくわからん。
gtkDはマルチスレッドがよく分からなかったので、wxDの働きには期待している。