简介
Node.js是一个基于Chrome V8引擎的JavaScript运行环境.Node.js使用了一个事件驱动,非阻塞式I / O的模型,使其轻量又高效。
嵌入式开发C / C ++和安卓原生使用的java的属于一个周期长和研发成本较高的工作,但是随着技术的发展,某些前端语言技术在大行其道,所以使用JS进行一些简单的对CPU负载要求低的工作可以使用,这样前端的人员就会扩展到服务器后端工作或者嵌入式工作,这样,保证跨平台开发的高效和前端和服务器端,嵌入式式终端开发的高效。
开发环境介绍
- 主机操作系统:Ubuntu14.04 64位
- 目标平台:全志A40I
- 交叉工具链:arm-linux-gnueabi,gcc5.3.1
- node.js版本:v10.16.0
- 编译时间:2019.5.31
注意:node.js随着新版本的发布,已经对GCC的版本有一定要求了,具体要求可以查阅node.js代码目录下的BUILDING.md文件。node-v10.16.0对gcc编译器的要求为:GCC >= 4.9.4。
交叉编译
Step1. 下载
下载地址:https://nodejs.org/en/download。本文以 node-v10.16.0.tar 版本为例。
历史版本: https://nodejs.org/zh-cn/download/releases/
Step2. 配置
export ARCH=arm
export LINK_host="g++"
export CXX_host="g++"
export CC_host="gcc"
export AR_host="ar"
export CC=arm-linux-gnueabi-gcc
export CXX=arm-linux-gnueabi-g++
export LD=arm-linux-gnueabi-ld
export RAINLIB=arm-linux-gnueabi-rainlib
export AR=arm-linux-gnueabi-ar
export AS=arm-linux-gnueabi-as
./configure --dest-cpu=arm --without-snapshot --prefix=$PWD/node-v10.16_install --dest-os=linux --cross-compiling
其中,
- --dest-cpu: 指定编译平台arm。
- --prefix: 指定安装目录,编译后的文件会全部放在安装目录中。
- --cross-compiling: 指明交叉编译
- --without-snapshot:交叉编译需要加这选型,否则会报错;
Step3. 编译安装
make -j4
make install
注:需要安装cmake
/home/work/project/module/node-v10.16.0/out/Release/torque: 1: /home/work/project/module/node-v10.16.0/out/Release/torque: Syntax error: word unexpected (expecting ")")