SWTビルドその2
VC6.0SP6+Plat form SDK for Windows Server 2003 R2のインストールと環境変数への設定でちょっと進んだが、${JAVA_HOME}\jre\bin\jawt.libが無いとかでビルドが引っかかる。JDKを見たら${JAVA_HOME}\libにしかなかったので、make_win32.makを修正してリトライ。
#AWT_LIBS = "$(JAVA_HOME)\jre\bin\jawt.lib" AWT_LIBS = "$(JAVA_HOME)\lib\jawt.lib"
それが解決したら、今度はXulrunnder周りが駄目な感じで引っかかる。includeパスやライブラリ関数が見つからない。SWTが想定しているディレクトリ構成と違う。ちょい調べたらなんとなく理由を発見。
FWIW swt's xulrunner library is still (still == 3.5 stream) compiled against
Eclipse Community Forums: Standard Widget Toolkit (SWT)
the xulrunner 1.8.0.4 SDK. But as you say, as of 3.4 there is runtime
support for xulrunner 1.9.x.
なるほど。最新を取ってしまっていたのが駄目だったみたい。この辺から1.8.0.4をダウンロードしてパスをセット。
で、ようやくビルド成功した。
: [exec] copy *.dll ..\..\..\org.eclipse.swt.win32.win32.x86 [exec] swt-awt-win32-3449.dll [exec] swt-gdip-win32-3449.dll [exec] swt-wgl-win32-3449.dll [exec] swt-win32-3449.dll [exec] swt-xulrunner-win32-3449.dll [exec] 1 個のファイルをコピーしました。 [eclipse.refreshLocal] Warning: project org.eclipse.swt.win32.win32.x86 does not exist and cannot be refreshed. BUILD SUCCESSFUL
イェスッ!って、5つ目のdllがorg.eclipse.swt.win32.win32.x86というファイル名でワークスペース直下にコピーされただけに。。。あらかじめワークスペース直下に、org.eclipse.swt.win32.win32.x86という名前のディレクトリを作っておかなければならないようだ。同じように各プラットフォームごとに集めるんだろうなと思うけど今のところWin32以外のパッチはないのでこれで以上か。
さて次は、swtのplugin-jarを作る方法を調べないと。The SWT FAQに従ってみたけどswtの.classもネィティブdllも含まれない空っぽのjarができるだけ。ええっ!?copyやらjavacやらantタスク自分で書くの?絶対自動化しているやつ何処かにあると思うけどなー。