nw.js-0.65.1在Windows 10下的编译流程(基于Chromium-102.0.5005.115内核)

下面是具体的步骤(本文中文件的主目录位于D:\0.65.1):
步骤一:
安装depot_tools,并将depot_tools目录添加到系统变量PATH中去(本文中用到的版本是2022-06-26,网盘中有下载),系统环境变量的配置参考下图。
在这里插入图片描述

步骤二:

执行下面的代码来同步nwjs代码(一行一行执行

set DEPOT_TOOLS_UPDATE=0
set DEPOT_TOOLS_WIN_TOOLCHAIN=0
set GYP_MSVS_VERSION=2019
set GYP_MSVS_OVERRIDE_PATH=C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise
gclient config --name=src https://github.com/nwjs/chromium.src.git@origin/nw65					-- 生成nwjs代码配置文件
git checkout -f origin/nw65                                                              		-- 提取代码

步骤三:
手动下载下列代码库文件并切换到指定的版本到指定的目录下去:

git clone -b nw65 https://github.com/nwjs/nw.js.git   --下载到src/content/nw 
git clone -b nw65 https://github.com/nwjs/node.git	  --下载到src/third_party/node-nw
git clone -b nw65 https://github.com/nwjs/v8.git	  --下载到src/v8

步骤四、
安装win10 SDK 10.0.20348(需完整安装),然后进入D:\0.65.1目录执行下面命令同步代码

  gclient sync --with_branch_heads --with_tags

步骤五、
进入src目录,执行下面命令生成ninja编译工程
调用chromium\src> gn gen 将会在指定目录生成编译工程,out/nw目录
名称不能修改,否则生成的文件编译的时候会有问题。
------------生成MT模式

gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=true target_cpu=\"x86\""	-- 32位Debug MT   VS86D_MT  
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=false target_cpu=\"x86\""	-- 32位Release MT VS86R_MT 
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=true target_cpu=\"x64\""	-- 64位Debug MT   VS64D_MT
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=false target_cpu=\"x64\""	-- 64位Release MT VS64R_MT
------------生成MD模式
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=true target_cpu=\"x86\""	-- 生成32位Debug MD   VS86D_MD
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=false target_cpu=\"x86\""	-- 生成32位Release MD VS86R_MD
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=true target_cpu=\"x64\""	-- 生成64位Debug MD   VS64D_MD
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=false target_cpu=\"x64\""	-- 生成64位Release MD VS64R_MD 
  • 如果采用上面的方法生成解决方案以后,需要修改工程配置再生成解决方案,可以按下面方法无需.git生成解决方案:
    如果需要修改工程配置,只需要删除out\VSXXX_XX目录下除args.gn以外的所有文件,然后修改args.gn配置参数。
    最后进入src目录,修改要编译的版本目录名称为out/nw,执行下面的命令即可:
 gn gen out\nw --ide=vs --sln=nw 
-----------生成Node编译工程
set GYP_CHROMIUM_NO_ACTION=0
set GYP_MSVS_VERSION=2017								    -- 用2019生成解决方案会失败
set GYP_DEFINES="target_arch=x64 is_component_build=false"	-- 生成MT版本(x86或x64)
//set GYP_DEFINES="target_arch=x64 is_component_build=true"	-- 生成MD版本(x86或x64)
python ./build/gyp_chromium -I third_party/node-nw/common.gypi -D building_nw=1 -D clang=1 third_party/node-nw/node.gyp	-- 生成MT版本
//python ./build/gyp_chromium -D component=shared_library -I third_party/node-nw/common.gypi -D building_nw=1 -D clang=1 third_party/node-nw/node.gyp	-- 生成MD版本

步骤六、
----------编译Chromium
修改要编译的版本目录名称为out/nw,然后进入src目录,
调用chromium\src> ninja -C out<out dir>, 开始编译,命令如下(编译需要很长时间,根据CPU的性能而定):

ninja -C out/nw nwjs
----------编译Node

命令如下:

ninja -C out/Release node
----------编译完成后执行下面的命令将Node拷贝到nwjs目录

命令如下:

ninja -C out/nw copy_node

到此,整个编译过程完成。

#######################编译后的运行截图#######################
在这里插入图片描述

#######################常用命令总结#######################
下面是一次性生产所有版本的批处理

gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=false target_cpu=\"x86\""        -- 32位Release MT VS86R_MT
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=false is_debug=false target_cpu=\"x64\""        -- 64位Release MT VS64R_MT
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=true target_cpu=\"x86\""          -- 32位Debug MD   VS86D_MD 
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=false target_cpu=\"x86\""         -- 32位Release MD VS86R_MD
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=true target_cpu=\"x64\""          -- 64位Debug MD   VS64D_MD
gn gen out/nw --ide=vs --sln=nw "--args=is_component_build=true is_debug=false target_cpu=\"x64\""         -- 64位Release MD VS64R_MD

#######################代码压缩包怎么编译#######################
如果要编译,将整个文件夹解压到D盘,然后将文件夹修改成0.65.1
然后进入0.65.1\src目录,执行ninja -C out\nw就可以了(修改out目录中要编译的版本目录为out/nw)

##################编译过程中遇到的错误及解决法####################

content\nw\src\api目录下的*.idl文件在编译的过程中会出现编译错误,
产生错误的原因是因为文件的编码格式不符合linux文件标准,需要用工具转换一下,请到网盘下载工具(dos2unix.exe和convert.bat),然后将这两个工具放置到content\nw\src\api目录,执行一下convert.bat,然后再编译即可。

由于国内没有VPN无法下载全部代码,现将编译过程中需要的工具和代码通过网盘共享给大家:

链接:https://pan.baidu.com/s/1pG0Esv-atH48GO-PE7WlTA
提取码:bx9b

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
CEF(Chromium Embedded Framework)是一个集成了Chrome核心功能的开发框架,开发者可以使用CEF来实现浏览器功能。而版本号cef102.0.5005.115是CEF的一个特定版本。 要在Windows编译自定义的CEF版本以支持视频播放,可以按照以下步骤进行操作: 1. 准备开发环境:在Windows上安装需要的开发工具,如Visual Studio(推荐使用2017或更高版本)。 2. 下载CEF源代码:从CEF官方网站或GitHub仓库下载所需的CEF源代码。 3. 配置编译选项:在源代码目录中,找到“CMakeSettings.json”文件,使用文本编辑器打开该文件。在该文件中,可配置编译选项,包括是否支持视频播放以及其他相关功能。 4. 打开Visual Studio:打开Visual Studio开发工具,并加载CEF项目。 5. 配置编译设置:选择正确的编译配置,如Debug或Release,并确保选择了正确的目标平台和体系结构。 6. 构建项目:在Visual Studio中生成(Build)CEF项目,即可开始编译源代码并生成支持视频播放的CEF版本。 7. 调试和测试:使用生成的CEF版本进行调试和测试,确保视频播放功能正常工作。 需要注意的是,编译CEF可能需要较长时间,而且要求开发者对C++编译器操作有一定的了解。同时,还需要遵循CEF的相关许可条款和开发指南。 总之,对于提供了版本号cef102.0.5005.115的CEF,在Windows编译自定义的CEF版本以支持视频播放,需要进行以上的步骤。这样,开发者就可以根据自身需求,构建一个具备视频播放功能的CEF应用程序。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值