Node.js嵌入式开发之 一 交叉编译

简介

        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 ")")

你可能感兴趣的:(Node.js嵌入式开发之 一 交叉编译)