alsa 测试 linux_Electron 构建步骤 (Linux)

遵循下面的引导,在 Linux 上构建 Electron .

Prerequisites

  • Python 2.7.x. 一些发行版如 CentOS 仍然使用 Python 2.6.x ,所以或许需要 check 你的 Python 版本,使用 python -V.

  • Node.js v0.12.x. 有很多方法来安装 Node. 可以从 Node.js下载原文件并且编译它 .也可以作为一个标准的用户在 home 目录下安装 node .或者尝试使用仓库 NodeSource.

  • Clang 3.4 或更新的版本.

  • GTK+开发头文件和libnotify.

在 Ubuntu, 安装下面的库 :

$ sudo apt-get install build-essential clang libdbus-1-dev libgtk2.0-dev \                       libnotify-dev libgnome-keyring-dev libgconf2-dev \                       libasound2-dev libcap-dev libcups2-dev libxtst-dev \                       libxss1 libnss3-dev gcc-multilib g++-multilib

在 Fedora, 安装下面的库 :

$ sudo yum install clang dbus-devel gtk2-devel libnotify-devel libgnome-keyring-devel \                   xorg-x11-server-utils libcap-devel cups-devel libXtst-devel \                   alsa-lib-devel libXrandr-devel GConf2-devel nss-devel

其它版本的也许提供了相似的包来安装,通过包管理器,例如 pacman. 或一个可以编译源文件的.

使用虚拟机

如果在虚拟机上构建 Electron,你需要一个固定大小的设备,至少需要 25 gigabytes .

获取代码

$ git clone https://github.com/electron/electron.git

Bootstrapping

bootstrap 脚本也是必要下载的构建依赖,来创建项目文件.需要使用 Python 2.7.x 来让脚本成功执行.正确下载文件会花费较长的时间. 注意我们使用的是 ninja 来构建 Electron,所以没有生成 Makefile 项目.

$ cd electron
$ ./script/bootstrap.py -v

交叉编译

如果想创建一个 arm target ,应当还要下载下面的依赖 :

$ sudo apt-get install libc6-dev-armhf-cross linux-libc-dev-armhf-cross \                       g++-arm-linux-gnueabihf

为了编译 arm 或 ia32 targets, 你应当为 bootstrap.py 脚本使用 --target_arch 参数:

$ ./script/bootstrap.py -v --target_arch=arm

构建

创建 Release 、 Debug target:

$ ./script/build.py

这个脚本也许会在目录 out/R 下创建一个巨大的可执行的 Electron . 文件大小或许会超过 1.3 gigabytes. 原因是 Release target 二进制文件包含了 调试符号 .运行 create-dist.py 脚本来减小文件的 size :

$ ./script/create-dist.py

这会在 dist 目录下创建一个有大量小文件的工作空间. 运行 create-dist.py 脚本之后, 或许你想删除仍然在 out/R 下的 1.3+ gigabyte 二进制文件.

可以只创建 Debug target:

$ ./script/build.py -c D

创建完毕, 可以在 out/D下面找到 electron.

Cleaning

删除构建文件 :

$ ./script/clean.py

解决问题

确保你已经安装了所有的依赖 .

Error While Loading Shared Libraries: libtinfo.so.5

预构建的 clang 会尝试链接到 libtinfo.so.5. 取决于 host 架构, 适当的使用 libncurses:

$ sudo ln -s /usr/lib/libncurses.so.5 /usr/lib/libtinfo.so.5

Tests

测试你的修改是否符合项目代码风格,使用:

$ ./script/cpplint.py

测试有效性使用:

+

$ ./script/test.py

fc62098c4a36de01e5043259bb35a32a.png

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/455691.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

centos7-安装mysql5.6.36

本地安装了mysql5.7, 但和springboot整合jpa时会出现 hibernateException, 不知道为什么, 换个mysql5.6版本的mysql, 源码安装, cmake一直过不去, 后来改成rpm安装 1, 获取mysql5.6 ftp://ftp.mirrorservice.org/sites/ftp.mysql.com/Downloads/MySQL-5.6/ 下载: 解压: 其中…

github设置中文_静态博客托管图片至 GitHub

从 MWeb 切换到静态博客 Jekyll 之后,我就面临一个问题,这在很久之前使用 Hexo 同样遇过的:图片托管在何处。MWeb 的解决方式很棒,直接插入图片,推送到 Github 后亦能正常引用并显示,无需图床或者借助第三方…

SQL注入【sqli靶场第23-28关】(七)

★★免责声明★★ 文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与学习之用,读者将信息做其他用途,由Ta承担全部法律及连带责任,文章作者不承担任何法律及连带责任。 0、总体思路 先确认是否可以SQL注入,使用单…

java linux 调用32位so_Linux上TCP的几个内核参数调优

Linux作为一个强大的操作系统,提供了一系列内核参数供我们进行调优。光TCP的调优参数就有50多个。在和线上问题斗智斗勇的过程中,笔者积累了一些在内网环境应该进行调优的参数。在此分享出来,希望对大家有所帮助。调优清单好了,在…

H.264码率控制机制

H.264标准码率控制算法步骤如下:1.计算当前帧的目标码字,并将其限定到HRD的边界中。2.通过线性模型(式4.5)预测当前帧中基本单元的MAD。 3.为未编码基本单元分配码字。4.通过二次R&a…

指针结构体函数-事实上能够这样具体理解

今天一大早登了下QQ空间,看到本科的一个学弟发表一篇日志。写关于西电微软俱乐部面试题的解答,写的非常不 错。我也一下子起兴了,由于我以前也是被指针困惑非常久。搞不清头绪,本科到研究生。我也笔试面试不下二十次 了。每次面试…

【python毕业设计】Django框架实现学生信息管理系统

Django框架实现学生信息管理系统 演示视频:Django学生信息管理系统_腾讯视频 演示界面内容如下 总体概括 注册流程 首先进行输入用户名(邮箱)、密码以及验证码,输入完之后点击注册按钮。如果输入的不正确,提示错误信…

python中continue只结束本次循环_循环(while,break,continue),转义字符

Apple iPhone 11 (A2223) 128GB 黑色 移动联通电信4G手机 双卡双待 4999元包邮 去购买 >01. 程序的三大流程 在程序开发中,一共有三种流程方式: 顺序 —— 从上向下,顺序执行代码 分支 —— 根据条件判断,决定执行代码的 分支 …

码率控制技术原理

引起编码器的输出比特码率波动的原因主要有两个。首先,数字视频信号中包含了大量的时域和空域冗余,编码器的主要任务就是去除这些冗余。由于时间冗余和空间冗余是随机的,从而造成编码器输出比特率波动。另一个原因是变长编码,变长…

python如何安装pip

pip的安装操作 pip简介 pip 是一个现代的,通用的 Python 包管理工具。提供了对Python 包的查找、下载、安装、卸载的功能。 环境搭建 安装pip首先要安装python,可以参考python安装教程 安装完python后,可以在cmd中输入pip list 测试一下pip是否默认附带着安装,若…

【排序算法】python 十大经典排序算法(全网最详)

排序算法可以分为内部排序和外部排序,内部排序是数据记录在内存中进行排序,而外部排序是因排序的数据很大,一次不能容纳全部的排序记录,在排序过程中需要访问外存。常见的内部排序算法有:插入排序、希尔排序、选择排序…

最新海康摄像机、NVR、流媒体服务器、回放取流RTSP地址规则说明

本文档主要介绍海康威视设备预览、回放、流媒体取流的RTSP URL和IE直接预览、回放的HTTP URL。RTSP为取流协议,取到码流后需要解码显示,可以通过VLC播放器进行测试,IE等浏览器网页不支持RTSP协议直接取流预览或者回放。网页上需要跳过登录界面…

pug模板引擎(原jade)

前面的话 为什么要引入pug,pug有什么特别之处呢?有一些嵌套层次较深的页面,可能会出现巢状嵌套,如下图所示 在后期维护和修改时,一不小心少了一个尖括号,或者某个标签的开始和闭合没有对应上,就…

python安装环境傻瓜式安装_前后端分离——前端开发环境傻瓜式一步到位 nodejs ruby python nginx 安装搭建配置...

前端开发环境一步到位 一、准备工作 nodejs安装 安装:next->next.... Ruby安装 安装:next->next.... 需要配置到path:将安装目录复制到环境变量中,跟jdk环境变量配置一样。 注意下一步:Python安装 安装&#xff…

【Python】Python学到什么程度可以面试工作?------持续更新 ...

前言: 从事python学习,有爬虫、web后台、深度学习相关经验, 坐标北京欢迎骚扰。 本答案力求简洁和直击重点,代码部分使用Python3,更详细的解释请Google,回答有误请务必提醒答主,我将及时改正。…

H.264的码率控制算法

H.264的码率控制算法采用了多种技术,其中包括自适应基本单元层(Adaptive Basic Unit Layer)、流量往返模型(Fluid Traffic Model)、线性MAD模型、二次率失真模型等。并且采用了分层码率控制策略,共分为三层:GOP层、帧层和基本单元…

消息中间件Client模块划分

上图是之间讨论确定的系统架构(后续内容会按照这个架构来叙述),其中: 客户端包含Producer和Consumer两大块 客户端需要和NameServer交互来获取元数据 客户端需要和Broker交互来读写消息 Client模块划分 1. 网络模块 第一个仍然是…

详解HashMap数据结构实现

HashMap的设计是由数组加链表的符合数据结构,在这里用自己的语言以及结合源码去总结一下,如果有不对的地方希望评论指正,先拱手谢谢。 HashMap是日常中非常常用的一种数据结构,我们要想深入了解学习任何一门技术,都是要…

java web开发学习手册_Java 人必备学习手册开发下载!

今天给大家分享一套 5000 页的 Java 学习手册,新鲜出炉!此手册内容专注 Java技术,包括 JavaWeb,SSM,Linux,Spring Boot,MyBatis,MySQL,Nginx,Git,…

Django初次体验

Django初次体验 关于django的安装,宝宝们可以参考django简介以及安装 Django框架的搭建 在终端中进入需要建立项目的目录 执行: django-admin startproject mysite其中,mysite是项目目录名,可以自定义 我们来看看startprojec…