deargodzw 发表于 2011-12-20 09:48

基于VS2005的Webkit编译

<font size="4"><b>&nbsp;<a name="_Toc280691729"><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">准备工作</span></a></b><span style="mso-bookmark:_Toc280691729"></span><span style="mso-font-kerning:
0pt" lang="EN-US"></span></font>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">准备工作里面,我们需要下载</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">webkit</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">源码,和一些编译和调试需要用到的工具。具体如下:</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">a.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">从官网下载</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">nightly build</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">的源码包,不含</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">svn</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">目录的纯源码,大概</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">16M</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">。</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="margin-left:21.0pt;text-indent:21.0pt"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">http://nightly.webkit.org/</span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">b.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">下载</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">WebKitSupportLibraries.zip</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">:</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="margin-left:21.0pt;text-indent:21.0pt"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">http://developer.apple.com/opensource/internet/webkit_sptlib_agree.html</span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">c.</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">开发工具以及编译环境:</span><span style="mso-font-kerning:0pt;mso-ansi-language:
ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:36.75pt;mso-char-indent-count:3.5"><span style="mso-font-kerning:0pt"><span style="mso-spacerun:yes">&nbsp;</span><span lang="EN-US">CygWin</span></span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">(使用官网提供的</span><span style="mso-font-kerning:0pt" lang="EN-US">zip</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">包),</span><span style="mso-font-kerning:0pt" lang="EN-US">QuickTime SDK,
DirectX SDK Feb 2010, Visual Stdio 2005 Team Suite(</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">包含</span><span style="mso-font-kerning:0pt" lang="EN-US">SP1</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">的整合包</span><span style="mso-font-kerning:0pt" lang="EN-US">)</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">。</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp;&nbsp;&nbsp; </span>d.safari</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">浏览器(调试程序运行时会需要该软件安装的部分运行环境)</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">以上软件和源码都已在服务器共享。</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt" lang="EN-US"><span style="mso-spacerun:yes">&nbsp;&nbsp;&nbsp; </span></span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;color:#C0504D;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">注意:</span><span style="color:
#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">VS2005</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">必须安装</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">SP1</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,否则编译会通不过</span></p>

<a name="_Toc280691730"><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">安装和配置编译环境</span></a><span style="mso-bookmark:_Toc280691730"></span><span style="mso-font-kerning:
0pt" lang="EN-US"></span>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">a.</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">安装</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">cygwin:
</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:
Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">利用</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">cygwin-downloader</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">进行下载,里面以及帮你配置好了需要下载的软件包,一共</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">119</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">个,下载后,启动</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">setup.exe, </span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">从本地目录安装,即指定你的安装目录为刚下载包的那级目录;(</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">cygwin</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">中下载的</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">119</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">个包在已经上传到服务器上)</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp; </span><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp; </span>b.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">安装</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">vs2005</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">和</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">safari</span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp; </span><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp; </span>c.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">安装</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">QuickTime SDK</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">,在编译</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">QTMovieWin</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">时会用到</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp; </span><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp; </span>d.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">安装</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">DirectX SDK</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">,在编译</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">WebCore</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">会用到</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp; </span><span style="mso-tab-count:1">&nbsp;&nbsp;&nbsp; </span>e.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">解压源码包到指定目录</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">注</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">:</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">1、<span style="font:7.0pt " times="" new="" roman""=""> </span></span></span><span lang="EN-US"><a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=7c8729dc-06a2-4538-a90d-ff9464dc0197&amp;displaylang=en" target="installtools" target="_blank">Visual Studio 2005 Service Pack 1 ATL Security Update</a>.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">补丁是</span><span lang="EN-US">sp1</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri">系统安全相关,未安装。</span></p>

<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:18.0pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l0 level1 lfo1" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">2、<span style="font:7.0pt " times="" new="" roman""=""> </span></span></span><span lang="EN-US"><a href="http://code.msdn.microsoft.com/KB918559" target="installtools" target="_blank">KB918559</a> </span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri">无中文版,无法在中文版</span><span lang="EN-US">VS</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">中安装(</span><span lang="EN-US">KB918559 FIX: You may experience slow performance and increased
memory usage</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri">)</span></p>

<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:18.0pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l0 level1 lfo1" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">3、<span style="font:7.0pt " times="" new="" roman""=""> </span></span></span><span lang="EN-US"><a href="http://code.msdn.microsoft.com/KB935225" target="installtools" target="_blank">KB935225</a></span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri">无中文版,无法在中文版</span><span lang="EN-US">VS</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">中安装(</span><span lang="EN-US">KB935225 FIX: Visual C++ based projects take longer to compile after
you install Visual Studio 2005 Service Pack 1</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">)</span></p>

<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:18.0pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l0 level1 lfo1" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">4、<span style="font:7.0pt " times="" new="" roman""=""> </span></span></span><span lang="EN-US"><a href="http://code.msdn.microsoft.com/KB943969" target="installtools" target="_blank">KB943969</a> </span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri">可以安装,已放在服务器上(</span><span lang="EN-US">FIX:
Visual Studio 2005 stops responding or performance is slow when you use the
IntelliSense feature</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri">)</span></p>

<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:
auto;margin-left:18.0pt;text-align:left;text-indent:-18.0pt;mso-pagination:
widow-orphan;mso-list:l0 level1 lfo1" align="left"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-font-kerning:
0pt" lang="EN-US"><span style="mso-list:Ignore">5、<span style="font:7.0pt " times="" new="" roman""="">
</span></span></span><span lang="EN-US"><a href="http://code.msdn.microsoft.com/KB947315" target="installtools" target="_blank">KB947315</a></span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">可以安装,已放在服务器上(</span><span lang="EN-US">KB947315 C++ Intellisense hangs when hotfix KB943969 is installed.
Since many customers are encountering this problem and KB943969 is widely used
publically downloadable fix, the product group would like to fix this hang.</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">)</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoListParagraph" style="margin-left:18.0pt;text-indent:-18.0pt;
mso-char-indent-count:0;mso-list:l0 level1 lfo1"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri" lang="EN-US"><span style="mso-list:Ignore">6、<span style="font:7.0pt " times="" new="" roman""=""> </span></span></span><span lang="EN-US"><a href="http://www.microsoft.com/whdc/devtools/debugging/installx86.mspx#b" target="installtools" target="_blank">instructions for installing the 32-bit version of Debugging
Tools for Windows</a>. </span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri">可选(</span><span lang="EN-US">Optional:
Install the 32-bit version of Debugging Tools for Windows</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">)</span></p>

<p class="MsoNormal"><span lang="EN-US">&nbsp;</span></p>

<p class="MsoNormal"><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri">安装完上面的软件和补丁之后,我们需要设置一些环境变量,以便程序正确运行。</span></p>

<p class="MsoNormal" style="margin-left:18.0pt;text-indent:-18.0pt;mso-list:l3 level1 lfo2"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;
mso-font-kerning:0pt" lang="EN-US"><span style="mso-list:Ignore">a.<span style="font:7.0pt " times="" new="" roman""="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">增加和修改系统环境变量</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">:</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="margin-left:18.0pt"><span style="mso-font-kerning:0pt" lang="EN-US">WEBKIT_HOME=&lt;webkit</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">源码根目录</span><span style="mso-font-kerning:0pt" lang="EN-US">&gt;</span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt" lang="EN-US"><span style="mso-spacerun:yes">&nbsp;</span><span style="mso-spacerun:yes">&nbsp;</span><span style="mso-spacerun:yes">&nbsp; </span>WEBKITOUTPUTDIR=%WEBKIT_HOME%\WebKitBuild</span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt" lang="EN-US"><span style="mso-spacerun:yes">&nbsp;&nbsp; </span><span style="mso-spacerun:yes">&nbsp;</span>WEBKITLIBRARIESDIR=%WEBKIT_HOME%\WebKitLibraries\win</span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="mso-font-kerning:0pt" lang="EN-US">PATH</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">中加入</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">”</span><span style="mso-font-kerning:0pt" lang="EN-US">&lt;cygwin</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">安装目录</span><span style="mso-font-kerning:0pt" lang="EN-US">&gt;\bin”</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">。</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">(</span><span style="mso-font-kerning:0pt" lang="EN-US">VS</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">编译时会报一些命令无法找到的错误)</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="mso-font-kerning:0pt" lang="EN-US">VSINSTALLDIR=&lt;vs</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">的安装目录</span><span style="mso-font-kerning:
0pt" lang="EN-US">&gt;</span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="mso-font-kerning:0pt" lang="EN-US">b.</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN" lang="EN-US"> </span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">打开</span><span style="mso-font-kerning:0pt" lang="EN-US">cygwin</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">的</span><span style="mso-font-kerning:
0pt" lang="EN-US">shell</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">进入到</span><span style="mso-font-kerning:0pt" lang="EN-US">%WEBKIT_HOME%</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">中的</span><span style="mso-font-kerning:
0pt" lang="EN-US">WebKitTools\Scripts</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">下</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="text-indent:20.4pt"><span style="background:#D9D9D9;mso-shading:white;mso-pattern:gray-15 auto;
mso-font-kerning:0pt" lang="EN-US"># ./update-webkit</span><span style="mso-font-kerning:0pt" lang="EN-US"> </span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">该命令进行更新</span><span style="mso-font-kerning:0pt" lang="EN-US">svn</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">以及下载依赖包的源码</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">由于我们下的源码不含</span><span style="mso-font-kerning:0pt" lang="EN-US">svn</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">目录</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">所以不会进行与最新仓库的同步</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">只会下载依赖包源码</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">大概</span><span style="mso-font-kerning:0pt" lang="EN-US">1M</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">多</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">.</span></p>

<p class="MsoNormal" style="text-indent:20.25pt;mso-char-indent-count:1.93"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">将</span><span style="mso-font-kerning:0pt" lang="EN-US">WebKitSupportLibraries.zip</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">拷贝到</span><span style="mso-font-kerning:0pt" lang="EN-US">%WEBKIT_HOME%\</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">下</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="background:#D9D9D9;mso-shading:white;mso-pattern:gray-15 auto;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">#./update-webkit-support-libs</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp;&nbsp; </span>#</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">此时会安装</span><span style="mso-font-kerning:
0pt" lang="EN-US">WebKitSupportLibraries.zip</span></p>

<a name="_Toc280691731"><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">编译和调试</span></a><span style="mso-bookmark:_Toc280691731"></span><span style="mso-font-kerning:
0pt" lang="EN-US"></span>

<p class="MsoNormal" style="margin-left:39.0pt;text-indent:-18.0pt;mso-list:l1 level1 lfo4"><b style="mso-bidi-font-weight:normal"><span style="mso-fareast-font-family:
Calibri;mso-bidi-font-family:Calibri;mso-font-kerning:0pt" lang="EN-US"><span style="mso-list:Ignore">1.<span style="font:7.0pt " times="" new="" roman""="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span></b><b style="mso-bidi-font-weight:normal"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">编译</span></b><b style="mso-bidi-font-weight:normal"><span style="mso-font-kerning:0pt" lang="EN-US"></span></b></p>

<p class="MsoNormal" style="margin-left:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">关于编译,有两种途径,其最终结果都是一样的。个人推荐第二种。如下:</span><span style="mso-font-kerning:
0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="margin-left:39.0pt;text-indent:-18.0pt;mso-list:l2 level1 lfo3"><span style="mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;
mso-font-kerning:0pt" lang="EN-US"><span style="mso-list:Ignore">a.<span style="font:7.0pt " times="" new="" roman""="">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">打开</span><span style="mso-font-kerning:0pt" lang="EN-US">cygwin shell</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,执行如下命令</span><span style="mso-font-kerning:
0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="margin-left:39.0pt"><span style="background:#D9D9D9;mso-shading:white;mso-pattern:gray-15 auto;
mso-font-kerning:0pt" lang="EN-US"># cd &lt;webkit home&gt;/WebKitTools/Scripts</span></p>

<p class="MsoNormal" style="margin-left:39.0pt"><span style="background:#D9D9D9;mso-shading:white;mso-pattern:gray-15 auto;
mso-font-kerning:0pt" lang="EN-US"># ./set-webkit-configuration –debug</span><span style="mso-font-kerning:0pt" lang="EN-US"> #</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">设置整个工程为</span><span style="mso-font-kerning:0pt" lang="EN-US">debug</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">模式</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="margin-left:39.0pt"><span style="background:#D9D9D9;mso-shading:white;mso-pattern:gray-15 auto;
mso-font-kerning:0pt" lang="EN-US">#./build-webkit</span><span style="mso-font-kerning:
0pt" lang="EN-US"> #</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">开始编译</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="text-indent:20.4pt"><span style="mso-font-kerning:0pt" lang="EN-US">b</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">.使用</span><span style="mso-font-kerning:0pt" lang="EN-US">VS2005</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">进行编译:</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="text-indent:35.9pt;mso-char-indent-count:3.42"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">用</span><span style="mso-font-kerning:0pt" lang="EN-US">VS</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">打开</span><span style="mso-font-kerning:0pt" lang="EN-US">%WEBKIT_HOME%\WebKit\win\WebKit.vcproj\WebKit.sln</span></p>

<p class="MsoNormal" style="text-indent:35.9pt;mso-char-indent-count:3.42"><span style="mso-font-kerning:0pt" lang="EN-US">VS</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">加载完解决方案后,修改整个解决方案的属性,设置为</span><span style="mso-font-kerning:
0pt" lang="EN-US">Debug</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">模式,这里还有其他几个模式,如</span><span style="mso-font-kerning:0pt" lang="EN-US">Debug_CarioXX</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,这是跟</span><span style="mso-font-kerning:0pt" lang="EN-US">Cario</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">图形库相关的,这里我们没有安装</span><span style="mso-font-kerning:
0pt" lang="EN-US">Cario</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt">相关的开发包,所以使用</span><span style="mso-font-kerning:0pt" lang="EN-US">Debug</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">。</span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="text-indent:31.5pt;mso-char-indent-count:3.0"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">因为</span><span style="mso-font-kerning:0pt" lang="EN-US">quicktime sdk</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">的原因</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">最好将每个项目的</span><span style="mso-font-kerning:0pt" lang="EN-US">C/C++</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">这项中的</span><span style="mso-font-kerning:
0pt" lang="EN-US">Treat warn as error(</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">将警告视为错误</span><span style="mso-font-kerning:0pt" lang="EN-US">)</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">改为否</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">否则会因为一些警告而停止编译。</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">(</span><span style="mso-font-kerning:0pt" lang="EN-US">QTMovieWin</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,</span><span style="mso-font-kerning:0pt" lang="EN-US">DumpRenderTree</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,</span><span style="mso-font-kerning:0pt" lang="EN-US">ImageDiff</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">。</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">)</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"><span style="mso-spacerun:yes">&nbsp; </span><b style="mso-bidi-font-weight:normal"><span style="mso-spacerun:yes">&nbsp;&nbsp;</span>2</b></span><b style="mso-bidi-font-weight:
normal"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:
Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">.调试</span></b><b style="mso-bidi-font-weight:normal"><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN"></span></b></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">编译完成后,就可以开始调试。调试时,将</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">WebKit</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">项目设为启动项目,</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">F5</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">开始调试,选择</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">%WEBKITOUTPUTDIR%\bin\WinLauncher.exe</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,确定后会发现程序运行还需要一些</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">DLL</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">文件。这时需要从</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">safari</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">的安装目录下拷贝对应的</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">dll</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">文件,放入到</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WebKitBuild\bin\</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">下面即可。我已经将这些</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">DLL</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">文件整理了一份。(</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">DLL</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">文件在服务器上共享)</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">还有一种调试方法是:附加到进程,需要你本机安装</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">Safari</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">浏览器,或者其他基于</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WebKit</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">引擎的浏览器。调试时,会找不到符号,此时需要你添加远程的符号服务器:工具</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">选项</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">调试</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">符号:在里面添加</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">:</span>
<span lang="EN-US"><a href="http://developer.apple.com/internet/safari/windows_symbols" target="_blank" target="_blank"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN" lang="EN-US"><span lang="EN-US">http://developer.apple.com/internet/safari/windows_sym<span lang="EN-US">bols</span></span></span></a></span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">。</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">此时你只要能确保</span><span style="mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">WinLauncher</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">能够正常运行,那么就可以开始调试了。</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;color:#C0504D;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">补充:正确运行</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WinLauncher</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,需要安装</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">Safari</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">这个浏览器,里面提供了</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WinLauncher</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">运行时的一些环境,该环境可能被放置在</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WINDOWS\system32</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">中,目前我还没找到哪些是必须的。</span><span style="color:red;mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;color:#C0504D;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">也可以直接用</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">safari.exe</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">调试,在</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">webkit
project</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">属性里,</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">debug</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">标签下,</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">command</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">指向</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">safari.exe</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">,</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">environment</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;
mso-ansi-language:ZH-CN">:</span><span style="color:#C0504D;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">WEBKITNIGHTLY=$(OutDir)</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">It is also
recommended that you follow</span> <span lang="EN-US"><a href="http://developer.apple.com/internet/safari/windows_symbols_agree.html" target="_blank" target="_blank">the
instructions to configure Visual Studio to use Apple's Safari for Windows
symbol server</a>.</span><span style="mso-font-kerning:0pt;mso-ansi-language:
ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">注意:下载的版本比较新(</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">Webkit-r72487</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">),若运行出现异常,可以尝试修改</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">WebKit</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">的项目属性:属性</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">配置属性</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">清单工具</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">-&gt;</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">输入和输出,修改里面的</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">”</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">嵌入清单</span><span style="color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">(Embed
manifest)”</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;color:#C0504D;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">改为否。(目前的异常都是因为环境的原因,环境正确基本都可以正常调试运行)</span><span style="mso-font-kerning:
0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:35.9pt;mso-char-indent-count:3.42"><span style="mso-font-kerning:0pt" lang="EN-US">&nbsp;</span></p>

<a name="_Toc280691732"><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">总结</span></a><span style="mso-bookmark:_Toc280691732"></span><span style="mso-font-kerning:
0pt" lang="EN-US"></span>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">整个编译过程中遇到的问题几乎都是跟安装环境相关</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:
ZH-CN">一开始缺少了</span><span style="mso-font-kerning:0pt" lang="EN-US">QuickTime SDK</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">和</span><span style="mso-font-kerning:0pt" lang="EN-US">DirectX SDK</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">到后面发现</span><span style="mso-font-kerning:0pt" lang="EN-US">VS2005</span><span style="font-family:
宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">自带的编译器也有问题</span><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt">,</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;
mso-hansi-font-family:Calibri;mso-font-kerning:0pt;mso-ansi-language:ZH-CN">需要安装</span><span style="mso-font-kerning:0pt" lang="EN-US">VS2005 Service Pack 1</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">。安装完后,一般就会编译成功了,毕竟</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">webkit</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">的源码每天都有</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">daily build</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,基本上拿来就能编译通过的。如果不成功,第一时间就应该想想是否是环境没配好。</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:
0pt;mso-ansi-language:ZH-CN">调试的时候,一开始就会提示你缺少这样那样的</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">dll</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">,这个需要自己整理,但基本都能从</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN">Safari</span><span style="font-family:宋体;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;
mso-font-kerning:0pt;mso-ansi-language:ZH-CN">安装目录下找到。</span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<a name="_Toc280691733"><span style="font-family:宋体;mso-ascii-font-family:
Calibri;mso-hansi-font-family:Calibri;mso-font-kerning:0pt">参考</span></a><span style="mso-bookmark:_Toc280691733"></span><span style="mso-font-kerning:
0pt" lang="EN-US"></span>

<p class="MsoNormal" style="text-indent:21.0pt"><span style="font-family:宋体;
mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri">以上步骤参考自如下网站:</span></p>

<p class="MsoNormal" style="text-indent:21.0pt"><span lang="EN-US"><a href="http://webkit.org/building/tools.html" target="_blank" target="_blank"><span style="mso-font-kerning:
0pt">http://webkit.org/building/tools.html</span></a></span><span style="mso-font-kerning:0pt" lang="EN-US"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US"><a href="http://webkit.org/building/debug.html" target="_blank" target="_blank"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN" lang="EN-US"><span lang="EN-US">http://webkit.org/b<span lang="EN-US">uilding/debug.html</span></span></span></a></span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

<p class="MsoNormal" style="text-indent:21.0pt;mso-char-indent-count:2.0"><span lang="EN-US"><a href="http://trac.webkit.org/wiki/BuildingOnWindows" target="_blank" target="_blank"><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN" lang="EN-US"><span lang="EN-US">http://trac.webkit.org/wiki/BuildingOnWindows</span></span></a></span><span style="mso-font-kerning:0pt;mso-ansi-language:ZH-CN"></span></p>

windy2335 发表于 2012-03-21 20:10

有人知道 webkit源码中JS_EXPORT_PRIVATE和JS_EXPORTDATA的作用么?
我拿下来后编译时报错,比如源码中报错位置行为:   JS_EXPORT_PRIVATE int32_t toInt32(double);
报的错:c:\webkit\source\javascriptcore\runtime\JSValue.h(99) : error C2146: syntax error : missing ';' before identifier 'int32_t'
有了解相关知识的么?
页: [1]
查看完整版本: 基于VS2005的Webkit编译