C#でwebkit 〜webkit.netビルド編〜

C#webkitwebkit.netをビルド〜

visual studioで使えるWebBrowserコントロールは、IEエンジンを使用して動作しています。
これが非常に不便。ローカルのバージョンにいちいち左右されるし、何よりもCss3が使用できない。
これは困ったもんだ。どうしたものか…。


そうだwebkit.net使おう!


まずは、GitHubよりソースを取得しましょう。
https://github.com/webkitdotnet/webkitdotnet
にアクセスし、ZIPをクリックしてダウンロードしましょう。

f:id:alocoholic_babay:20130403161510p:plain


ソースが取得できたら、次はビルドします。
ビルド方法は、Wikiをクリックしても見ることができます。
英語が苦手な方は、この記事を見ながら一緒にビルドしましょう。
(このWikiの通りにやっても巧くいかなかったり…)

f:id:alocoholic_babay:20130403161807p:plain

今回のビルド環境はWindows7, C# 2010 Express Editionです。
他に、Visual C++ 2010 Express Editionも必要なので、まずはインストールして下さい。


まず、最初にC++で作成されているJSCoreプロジェクトをビルドします。
Visual C++ 2010 Express Editionを立ち上げて、
webkitdotnet-develop\JSCore\JSCore.vcxprojを開いて下さい。


立ち上げる際になんかエラーダイアログがたくさん出ますが、無視で。


立ち上がったら、
ツールバーから構成を変更しましょう。
下記画像のように、Release / Win32に設定します。

f:id:alocoholic_babay:20130403163546p:plain


設定が完了したら、ソリューションエクスプローラより、
ソリューションを右クリック > ビルド
して下さい。
ビルドが成功すると、
webkitdotnet-develop\bin\Release\JSCore.dll
が出力されます。


これでJSCoreのコンパイルは完了です。
Visual C++ 2010 Express Editionは終了して次の作業に移ります。


お次は、メインプロジェクトのビルドです。
Visual C# 2010 Express Editionを立ち上げて、
webkitdotnet-develop\WebKit.NET.sln
を開きましょう。


またまたエラーダイアログが大量に上がってきますが、
相変わらず無視しましょう。
とりあえず無視は大事です。


先ほどと同様にビルドの構成を変えたいのですが、
Visual C# 2010 Express Editionを立ち上げた状態だと
ツールバーに表示されていませんね…

まずは、
ツールバー > ツール > 設定 > 上級者設定にチェックをしましょう。
(上級者設定って…)


次に
ツールバー > ツール > オプションをクリック

f:id:alocoholic_babay:20130403165327p:plain

上記画像のように、

全ての設定を表示にチェックを入れる
プロジェクトおよびソリューションを選択し
ビルド構成の詳細を表示にチェックを入れて下さい。


ツールバーにビルドの構成が出てきたら、
またRelease / Win32に設定します。

f:id:alocoholic_babay:20130403165941p:plain


次に、
ツールバー > ビルド > 構成マネージャを開き

f:id:alocoholic_babay:20130403170330p:plain

のようにチェックを入れて、Win32構成のビルド対象として指定します。


まだ終わりません。
プロジェクトからdllへの参照が切れているので、修復します。
▂▅▇█▓▒░(’ω’)░▒▓█▇▅▂うわあああああああ

f:id:alocoholic_babay:20130403170713p:plain

WebkitCoreプロジェクトのJSCoreプロジェクトへの参照が切れているので、
右クリック > 削除しましょう。


そしたら、参照設定を右クリック > 参照の追加
から、先ほどVisual C++ 2010 Express Editionでコンパイルした
webkitdotnet-develop\bin\Release\JSCore.dllを指定します。

f:id:alocoholic_babay:20130403171052p:plain


同様の処理をWebKitBrowserTestにも行って下さい。
(削除して、先程コンパイルしたdllを指定。)
f:id:alocoholic_babay:20130403171351p:plain



できましたか?
長かったですね。本当に長かった。
では、ツールバー > ビルド > ソリューションのビルドを実行しましょう。


正常終了━━━━━━(゚∀゚)━━━━━━ !!!!!


では、サンプルプロジェクトを実行してみませう。
ソリューションエクスプローラで
WebKitBrowserTestを右クリック > デバッグ > 新しいインスタンスを開始
f:id:alocoholic_babay:20130403172016p:plain


この画面がでれば、全てのビルドは成功です。
おめでとうございます。
ありがとうございます。


次回(2013/05/09やっと更新しました...)は、このビルドされたdllを実際にC#から使用してみましょう。
お疲れさまでした!!