Linux下CEF3编译指南(linuxcef3编译)

CEF(Chromium Embedded Framework)是一个基于Google Chromium 的开源项目,它允许开发者创建基于Chromium内核的应用程序,支持HTML5和其它Web标准,目前已支持多种语言的绑定,如C/C++, Java, C#等。本指南主要介绍如何在Linux系统上编译CEF3,并将编译后的库应用在项目当中。

假设需要编译最新版本CEF 3.3397.1880:

### 一、从Github下载CEF源码

CEF3源码存放在Github(https://github.com/chromiumembedded/cef),git命令:

git clone --recursive https://github.com/chromiumembedded/cef.git cef-3.3397.1880

### 二、安装编译依赖

CEF3编译需要几个第三方库:alsa-lib、gtk2、gtk3、libudev 、libgconf、nm、nss、at-spi2,在Ubuntu/Debian下可以用如下命令安装:

sudo apt install libudev-dev libgconf-2-4 libasound2-dev libxt-dev libxss-dev libnss3-dev libpci-dev libdbus-1-dev libat-spi2-dev libglib2.0-dev libgtk2.0-dev libgtk-3-dev

### 三、下载Chromium依赖

CEF3编译依赖于Chromium浏览器,需要下载Chromium源码仓库:

# 配置 repo,当前CEF依赖Chromium 74.0.3729.131版本
repo init -u https://chromium.googlesource.com/chromium/src.git -b 74.0.3729.131
# 下载Chromium源码
repo sync

### 四、编译CEF

CEF的编译是一个复杂的过程,编译脚本位于编译CEF所需的脚本《cef_create_projects.sh》,该文件位于源码根目录,可以通过如下命令运行它:

#其中: 
#–url 参数我们指定下载chromium源码的地址;
#–depot-tools-dir 参数指定Git分支下载工具 repo
#–x64 参数指编译64位库;
#–no- Brackets 参数指编译代码时仅编译必要的内容;
#–cef-root 参数指指定CEF项目的根目录
./cef_create_projects.sh --url=https://chromium.googlesource.com/chromium/src.git --depot-tools-dir=/path/to/depot_tools --x64 --no-brackets --cef-root=/path/to/cef/

执行上述命令后即可在CEF根目录下生成一个用于GN编译的文件夹,比如Release_GN_x64,此时可以在这个目录下执行ninja生成CEF的Release版本,执行如下命令:

ninja -C Release_GN_x64/

编译后的文件位于`out/Release_GN_x64` 目录,主要有几个类型的文件:.so库文件、.dylib库文件和.a静态库,以及浏览器可执行文件 `cefclient`、`cef_sandbox`等,可以根据要求复制这些文件到指定的位置。

### 五、在项目当中使用编译出的库

编译后,只需要在项目编译连接设置中添加`libcef_dll_wrapper` 和`libcef` 链接库即可,如果需要实现V8绑定,还可以在项目当中增加`.jar` 和`.h`文件,并添加”JNI_CEF”的预编译链接即可。

总之,编译CEF比较复杂,本文介绍了在Linux下CEF3的编译过程,完成编译后,只需要将编译后生成的库添加到项目中就可以便捷的使用它了。


数据运维技术 » Linux下CEF3编译指南(linuxcef3编译)