您的位置:首页 > 其它

chrome编译环境搭建 zz

2009-10-02 05:17 344 查看
鼎鼎大名的chrome出世了,迫不及待的一睹芳容。版本还不成熟,功能不够完善,等等。这也与我的最初的想法差别不大。其实本身就浏览器多我而言吸引力不是太大,关键在于可以逐步的经历一个浏览器的成长才是最令人兴奋的事情。说个不是很恰当的例子,养孩子其实不是希望一下子就能到18岁,那样太没趣了,成长的过程才是最让人留恋的,可惜我没有孩子,这个玩意也不是我的孩子, :P~

不再废话,从下载开始把,起初用svn下载,一个字:慢。而且一古脑的下载,整整下了好几天,还没有完成,幸运的是找到一个打包的版本,总算搞定。

最初的vs环境是2005,直接打开sln文件编译看看,似乎打不开,未知原因,文件比较了下,可能是换行符的问题,但幸运的是从svn的版本拷贝过来则可以使用。

编译,错误错误,error无数。然后仔细查找原因,主要缺一个vsstyle.h的头文件,修改WINVER和_WIN32_WINNT的编译参数为0x0501也不行,原来需要 windows sdk 2008 环境,官方下载,居然有一个G,算了,还是直接安装个vs2008吧。

于是又经过了不少的折腾--ghost还原原来的干净系统,重新安装vs2008。哎,区区两句话,折磨阿,特别是那些大量的工作必须软件。。。

重新编译,都可以通过,但是遇到了一个头文件的编译警告,导致日志系统不停的输出,也太慢,于是取消编译,修改再来,下面是我的文件修改处,当然前面修改的WINVER/_WIN32_WINNT也要还原:

chromium/src/build/SConscript.main:

CCFLAGS = [

'/wd4503',

'/wd4819',

'/wd4396',

],

chromium/src/build/internal/essential.vsprops:

DisableSpecificWarnings="4503; 4819; 4396"

解释就不用说了吧。继续。

这次终于基本都编译完成,说基本是因为还有两个错误,但这两个错误由于不在核心调用模块,所以也就可以程序的单步运行阅读了。这两个错误分别是:memory_watcher.cc和call_stack.cc,都和std::map相关,查找原因,无果,在一个网站上看到认为是一个vs的bug,但到微软的问题列表上又认为不是,而我对stl基本上一知半解,所以也就直接作罢,把实例化的总共三个变量部分注释掉,省得碍眼。(有高人路过可以贴一下解决办法),下面是其部分:

29>call_stack.cc

29>C:/Program Files/Microsoft Visual Studio 9.0/VC/include/xtree(52) : error C2664: “std::_Tmap_traits<_Kty,_Ty,_Pr,_Alloc,_Mfl>::_Tmap_traits(_Pr,_Alloc)”: 不能将参数 2 从“PrivateHookAllocator<T>”转换为“PrivateHookAllocator<T>”

29> with

29> [

29> _Kty=int32,

29> _Ty=std::string,

29> _Pr=std::less<int32>,

29> _Alloc=PrivateHookAllocator<int32>,

29> _Mfl=false

29> ]

其实这里说到我的一个想法,从学习c++开始,就非常讨厌这样的错误/警告提示,没有一点美感可言,而且vs本身对这个问题的提示也感觉不是那么直观。

闲话不提,直接运行chrome.exe,嘿嘿。直接输入地址,非常好。预期的整体编译环境目的已经达到。目前正在对chrome的整体架构进行学习,可惜doxygen的功能还不够强大。需要逐步的进行阅读。。。来日方长啊。

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/martmy/archive/2008/09/17/2942712.aspx
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: