有没有人在Windows下成功构建Chrome?

时间:2008-11-11 18:16:03

标签: windows google-chrome

我正在定量研究与自动化测试相关的各种指标。 Chrome似乎有一个合理的设置,所以我想将它添加到我的数据集中。我下载了Chrome源代码,并尝试使用VisualStudio构建它,但有几百个错误 - 类型未定义,标识符未定义等等。有没有人在Windows下构建Chrome成功?有什么技巧我需要知道吗?

2 个答案:

答案 0 :(得分:4)

从Chromium开发页面:

编译失败

当你有奇怪的编译失败时要考虑一些常见的事情:

  • 确保您拥有适用于Visual Studio 2005的SP1。这是必需的。真。
  • 有时,Visual Studio在构建Chromium时会做错事,并且会遇到虚假错误。一个很好的迹象是,如果它只是一个人失败,但其他人(包括Buildbots)没有抱怨。要解决此问题,请尝试以下步骤:
    • 关闭Visual Studio。
    • 同步到树的尖端并确保没有冲突(“svn st”不应该在您更改的文件前显示任何“C”。)
    • 如果有冲突,请在解决后再次同步。
    • 手动删除输出目录(chrome \ Debug和chrome \ Release。使用命令行,您可以使用chrome目录中的“erase / S / Q Debug Release”来执行此操作,或者“rm -rf Debug Release”如果您安装了类Unix工具。
    • 重新启动Visual Studio并打开Chromium解决方案。
    • 重建解决方案。

如果仍然无效,重复此过程可能无济于事。

chrome_kjs.sln tempfile问题

如果在构建JavaScriptCore时,您会看到如下错误:

3>Error in tempfile() using /tmp/dftables-XXXXXXXX.in: Parent directory (/tmp/) is not writable
3> at /cygdrive/c/b/slave/WEBKIT~1/build/webkit/third_party/JavaScriptCore/pcre/dftables line 236
3>make: *** [chartables.c] Error 255

...这是因为Chromium源中包含的Cygwin安装无法将NT ACL映射到POSIX权限。当Chromium签出到Cygwin无法首先找出权限的目录中时,可能会发生这种情况,可能是在运行mkpasswd之前从Cygwin环境中创建目录的时候。然后,Cygwin强加了自己的访问控制,这是一种错误的限制。要解决此问题,请执行以下操作之一:

  • 编辑third_party \ cygwin \ tmp上的NT权限,以允许Everyone和machine \ Users的修改和写入操作。 Cygwin能够解决这个问题。或者,

  • 找出你的结帐出了什么问题,然后再试一次 - 尝试从cmd而不是从Cygwin shell进行结账,然后在Cygwin安装中验证权限是不是完全空白。或者,

  • 通过编辑webkit \ build \ JavaScriptCore \ prebuild.bat和webkit \ build \ WebCore \ prebuild.bat绕过Cygwin的访问控制(NT仍然有效),在调用使用Cygwin的任何内容之前包含以下行:

        set CYGWIN=nontsec
    

只需要其中一种解决方案。

答案 1 :(得分:0)

我已经能够多次构建Chrome。如果你想看,我有全面的材料 Building Chrome in Windows 7 using Visual Studio.NET 2008