続・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の働きには期待している。