Chrome源码发布后,许多人与我一样,马上开始下载编译调试,希望一睹它的真面目。但这之中,有许多人与我一样,会碰到一此问题,所以将我的经历写下来,供大家参考
1.编译问题
a.源码下载
官方推荐的是用svn下载,我下载用了2天,试了两次,第一次下载后,编译没有过,很多问题,缺这缺那,但在修补这个的过程序中,明白了编译不过的原因。
源码下载一定要下载全,用svn下载时,因为速度很慢,也可能下的人多,svn会经常断线,所以断了以后要手工去updata,直到svn提示没有更新为止。
另外,Chrome中用了其它一些开源项目,有些并没有加入svn下载的源码中(trunk),所以要自己到google去找。具体是那些项目,可以在编译时通过编译器的提示去了解。
还有一部分是目录放的不对,比如trunk/deps/third_party里的全部子目录,应该放到trunk/src/third_party里,所以要将它们全部copy过去.
除了下载源码外,后面的两步并不需要马上完成,可以一边编译,一边做,这个在编译时会再说。
b.编译。
编译时出的主要问题
1.先觉条件没有做。
比如没有安装windows更新包,vs补丁包,等等,这一步可以对应相应文章,说的都很详细
2.运行chrome.sln时,如果提示项目文件没有找到,可能是相应的项目文件不存在,因些到google去下载整个开源项目,并放到对应路径上。
3.将trunk/deps/third_party里的全部子目录,应该放到trunk/src/third_party里,所以要将它们全部copy过去.
这样做后应该再不会有什么问题,记住尽量不要修改chrome.sln文件,及其它工程文件,如果编译过程中仍有文件符号之类的找不到的信息,请检查是不是少了那个开源项目。
2。调试问题
HDESK desktop = CreateDesktop(kDesktopName, NULL, NULL, 0,
DESKTOP_CREATEWINDOW, NULL);
if (desktop) {
policy->SetDesktop(kDesktopName);
所以调试时没有办法进去,因为在不同的桌面里。 这个问题着实头痛了一阵
后在mood(50170660)的帮助下才知道解决办法。
1。用单进程模式
2。 http://sites.google.com/a/chromi ... s/how-tos/debugging