Window下编译ThunderBird源代码(修正版)

1,解压缩源代码到d:\mozilla目录下。注意thunderbird的那个目录名称一定要是名为mozilla的,否则编译会通不过。

2,
D:\mozilla\mail\config目录下拷贝 mozconfig文件到D:\mozilla目录下,这个文件的内容如下:

 # This file specifies the build flags for Thunderbird.  You can use it by adding:
. $topsrcdir
/mail/config/mozconfig
 mk_add_options MOZ_CO_PROJECT
=mail
 ac_add_options 
--enable-application=mail
     

注意不要尝试自己去建立这个文件,即使你用ue32也会有问题的,直接用它提供的。


2
、下载winmg32
下载后安装到C:\mozilla-build 下,其实也就是它默认的目录,建议不要改动

3
、运行C:\mozilla-build\start-msvc8.bat,此时会运行一个模拟的shell里面转到thunderbird的源码目录。

cd d:\mozilla
make 
-f client.mk build


4
,运行一段时间之后,系统会报一个找不到msvcr80.dll,这时就把d:\mozilla\xpcom\typelib\xpidl\xpidl.exe.manifest复制到d:\mozilla\dist\bin中,重命名为xpt_link.exe.manifest

如果找不到那个manifest文件,不防自己建xpt_link.exe.manifest文件,内容如下

 <?xml version='1.0' encoding='UTF-8' standalone='yes'?>
 
<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
   
<dependency>
     
<dependentAssembly>
       
<assemblyIdentity type='win32' name='Microsoft.VC80.CRT' version='8.0.50608.0' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
     
</dependentAssembly>
   
</dependency>
 
</assembly>

另外还有两个问题要解决,都是vs2005的头文件的问题,进入你安装vs2005的目录,\VC\PlatformSDK\Include下找到wabTags.h中,用ue32打开,在文件尾部有几处注释处有unicode字符,把一些?与中文乱码的注释都删除了。再找到此目录下另一个文件wabDefs.h, 77-79行处注释掉,这里定义的WCHAR和另一个头文件会发生重复定义的问题。

5,再进入shell中,进行编译make -f client.mk build
6
D:\mozilla\dist\bin中就会出现编译好的TB了,到系统目录下拷贝一个msvcr90.dllbin目录下,并复制一个xpt_link.exe.manifest,再重命名为thunderbird.exe.manifest,就可以正常运行了。


参考资料:

http://www.cnblogs.com/qiubole/archive/2008/04/18/872453.html#1159952

posted on 2008-04-18 17:32 Phinecos(洞庭散人) 阅读(870) 评论(9)  编辑 收藏 网摘 所属分类: Mozilla扩展

评论

#1楼 2008-08-01 14:27 伯乐共勉      

好,不错。。。。   回复  引用  查看    

#2楼 2008-09-02 09:37 VISELO[未注册用户]

rror LNK1181: 无法打开输入文件“c:/mozilla-build/moztools/lib/libidl-0.6.lib”
make[6]: *** [xpidl.exe] Error 157
make[6]: Leaving directory `/d/mozilla/xpcom/typelib/xpidl'
make[5]: *** [export] Error 2
make[5]: Leaving directory `/d/mozilla/xpcom/typelib/xpidl'
make[4]: *** [export] Error 2
make[4]: Leaving directory `/d/mozilla/xpcom/typelib'
make[3]: *** [export] Error 2
make[3]: Leaving directory `/d/mozilla/xpcom'
make[2]: *** [tier_2] Error 2
make[2]: Leaving directory `/d/mozilla'
make[1]: *** [default] Error 2
make[1]: Leaving directory `/d/mozilla'
make: *** [build] Error 2
是怎么回事啊?
  回复  引用    

#3楼[楼主] 2008-09-02 10:37 Phinecos(洞庭散人)      

@VISELO
看起来是winmg32的问题,检查下c:/mozilla-build/moztools/lib/libidl-0.6.lib和c:/mozilla-build/moztools/bin下libIDL-0.6.dll是否都存在
  回复  引用  查看    

#4楼 2008-09-02 12:54 VISELO[未注册用户]

谢谢了,我换了2.0.0.16编译通过了
开始用的是3.0.*.*
是不是方法改变了,c:/mozilla-build/moztools/bin下libIDL-0.6.dll没有这个文件
  回复  引用    

#5楼[楼主] 2008-09-02 13:37 Phinecos(洞庭散人)      

@VISELO
FF 3.0的编译所对应的winmg32版本可能不同了,去官网看看
  回复  引用  查看    

#6楼 2008-10-21 15:09 fanl[未注册用户]

Window下如何调试ThunderBird源代码   回复  引用    

#7楼[楼主] 2008-10-21 15:22 Phinecos(洞庭散人)      

@fanl
我用的最笨的办法,改一点,重新编译一次。。。听说可以设置断点,不过我不会
  回复  引用  查看    

#8楼 2008-10-22 09:50 fanl[未注册用户]

@Phinecos(洞庭散人)
回复的真及时,谢谢!网上找不到工程文件,自己可以创建工程文件吗?
我现在想实现一个功能,就是把thunderbird的联系人列表导出来,不知道您知道不知道如何实现呢?
  回复  引用    

#9楼 2009-04-08 17:23 bensonwu5799[未注册用户]

你好,我在编译的时候出现这个问题,怎么解决呀:
configure: error: --enable-application=APP is required
  回复  引用    




发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1160212




历史上的今天:
2007-04-18 OpenGL入门笔记(五)

相关文章:

相关链接:

导航

统计

与我联系

留言簿

我参与的团队

随笔分类(738)

随笔档案(608)

相册

常去的站点

我的好友

我的站点

积分与排名

最新评论

阅读排行榜

评论排行榜

60天内阅读排行