美文网首页
Node.js嵌入式开发之 一 交叉编译

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

作者: JalynFang | 来源:发表于2020-08-22 10:54 被阅读0次

    简介

            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嵌入式开发之 一 交叉编译

          本文链接:https://www.haomeiwen.com/subject/iedwtctx.html