windows 编译火狐浏览器68.0.1

链接: https://pan.baidu.com/s/14XqI6G01KogPIcumCfavMA 提取码: bzgb

1、平台

Win10 64bit

Visual studio 2019 16.2.0

至少4G RAM,建议8G,当然越多越好。40G硬盘空间。

注:编译Firefox68 for windows需要64位的win7或以上版本的windows。

2、源码

firefox-68.0.1.source.tar.xz。解压至:f:\firefox68.0.1

3、前言

大多数windows机器上并没有安装Mozilla编译过程需要的众多工具。除Visual Studio外,你必须安装MozillaBuild,该工具是一系列软件的合集,包括正确版本的bash, GNU make, autoconf, Mercurial和其它许多的软件。

https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe
 

4、准备工作

4.1 Visual Studio

Visual studio 2019 16.2.0

安装时选择:

使用C++的桌面开发
使用C++的游戏开发
Windows 10 SDK (10.0.17763.0)
Windows 10 SDK (最新版,最低支持10.0.17134.0)
C++ ATL for v142 build tools (x86 and x64)
若需要编译用于ARM的Firefox,则需要C++ ATL for v142 build tools (ARM 和 ARM64)。

4.2 安装MozillaBuild

https://ftp.mozilla.org/pub/mozilla.org/mozilla/libraries/win32/MozillaBuildSetup-Latest.exe

安装于:C:\mozilla-build

需要注意的是如果路径中有空格、加号、引号等字符,Mozilla将不能编译,故强烈建议接受默认的安装设置。但Visual Studio tools和SDKs例外,这些工具安装的路径可能有空格。

建议在桌面创建C:\mozilla-build\start-shell.bat的快捷方式,这样可以节省很多时间。

4.3 安装rust

编译至少需要:rust 1.34.0

rust-1.36.0-i686-pc-windows-msvc.msi,根据不同的平台选择。

https://static.rust-lang.org/dist/rust-1.36.0-i686-pc-windows-msvc.msi

https://static.rust-lang.org/dist/rust-1.36.0-x86_64-pc-windows-msvc.msi

安装于:C:\rust

注:编译32位用i686-pc-windows-msvc;编译64位用x86_64-pc-windows-msvc。

4.4 安装Cbindgen

cmd

安装:cargo install cbindgen

若安装,则更新:cargo install cbindgen --force

4.5 安装LLVM and Clang

安装LLVM and Clang,地址如下:

http://releases.llvm.org/download.html

A、首先安装32位的LLVM

若编译64位的firefox则不需要。

Source\LLVM\8.0.0\LLVM-8.0.0-win32.exe。

假定安装目录为:C:\LLVM32

提供32位的libclang.dll供使用。否则直接用64位的libclang.dll时会提示无效64位的dll。

B、然后安装64位的LLVM

Source\LLVM\7.0.0\LLVM-7.0.0-win64.exe。

32位的会错:LLVM ERROR: out of memory

假定安装目录为:C:\LLVM64

安装时不要删除当前已安装的32位版本。

C、llvm-config

安装包中无llvm-config.exe,需要自行编译。

只需要解压llvm-8.0.0.src.tar.xz。

分包生成32和64位的sln。选择Tools->llvm-config生成即可。

llvm-config-bin.rar中已有相应的编译文件。解压放置到llvm安装目录的bin文件夹下,即解压分别放置C:\LLVM64\bin和C:\LLVM32\bin文件夹下。

4.6 安装nasm

nasm-2.13.03-win64.zip,解压至C:\nasm

4.7 修改mozilla-build查询路径

用记事本打开C:\mozilla-build\start-shell.bat,修改如下:

SET PATH=C:\mozilla-build;C:\rust\bin;C:\LLVM64\bin;C:\nasm;%SystemRoot%\System32;%SystemRoot%;%SystemRoot%\System32\Wbem

4.8 The libclang located at C:/LLVM32/bin\libclang.dll is too old (need at least 4.0).

打开firefox-68.0.1\build\moz.configure\bindgen.configure

屏蔽如下:

5、编译

5.1 mozconfig

在源代码目录中新建文本文件“mozconfig”,内容如下:

# mozilla config stylo

#ac_add_options --with-libclang-path="C:/LLVM/lib"

ac_add_options --with-clang-path="C:/LLVM64/bin/clang.exe"

ac_add_options --with-libclang-path="C:/LLVM32/bin"

ac_add_options --disable-debug-symbols

ac_add_options --target=i686-pc-mingw32

ac_add_options --host=i686-pc-mingw32

5.2 编译

运行start-shell.bat,这样会启动GNU BASH。

cd /f/firefox-68.0.1

./mach build

5.3 UnicodeDecodeError

解决方案:

在firefox-68.0.1\obj-x86_64-pc-mingw32\_virtualenvs\init\Lib\sitecustomize.py

添加如下内容:

# set system default encoding: utf-8

import sys

reload(sys)

sys.setdefaultencoding('utf-8')

5.3 再次运行

./mach build

5.4 所得

全程一个多小时后即可获得,在obj-i686-pc-mingw32\dist\bin获得编译结果。

6. 中文包

在FireFox地址栏里输入"about:config" 回车,输入general.useragent.locale,双击该项然后再弹出的对话框里输入"zh-CN",确定。重启浏览器后FireFox就变为中文版的了。
————————————————
版权声明:本文为CSDN博主「waji2000」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/waji2000/article/details/97681408

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值