将node.js移植到arm开发板

本文详细介绍了如何使用交叉编译器gcc 4.4.6针对ARM平台(S5PV210 CortexA8)从源码编译Node.js 0.12.6版本的过程。作者分享了编译前的环境配置、编译选项以及遇到的问题解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

node.js版本  0.12.6   下载地址:https://nodejs.org/download/release/v0.12.6/   我用的版本是:node-v0.12.6.tar.gz

arm开发板    SOC是S5PV210 CPU是Cortex A8

交叉编译器是 gcc version 4.4.6 (for CW210 Concenwit Tech)   根据自己个人板子的情况来吧

开始前的准备工作:

export CC=arm-linux-gcc 
export CXX=arm-linux-g++
export LD=arm-linux-ld
export RAINLIB=arm-linux-rainlib
export AR=arm-linux-ar
export CFLAGS=-static
export CXXFLAGS=-static
export LDFLAGS=-static

最后三项是静态编译

这是编译成功后file node的结果:

tarena@ubuntu:/opt/rootfs/node/bin$ file node
node: ELF 32-bit LSB executable, ARM, version 1 (SYSV), statically linked, for GNU/Linux 2.6.32, not stripped

接下来就是

./configure --prefix=/home/tarena/workdir --dest-cpu=arm --without-snapshot

prefix是你make install的文件夹,就是说你想将编译好的node安装的地方

加--without-ssl就编译错误

然后: make  花了一个半小时,看你自己的机器咯

最后: sudo  make install 

最后将编译好拷贝到开发板:node -v   看有没有0.12.6

我还有块arm9的板子,官方是支持armv6到armv8的但是那些源文件是动态链接的,我在自己的板子(armv7)上试过,没得反应,所以才决定自己编译的。

关于node的更高版本,提示错误说要g++ 4.8.0以上版本,交叉编译器找到就不容易了,支持c++ 11恐怕更难找了。

0.12.6是15年发布的,基本上很多模块都能用的,亲测crontab mysql模块都没得问题。

有谁在arm9上编译成功的,一定要留个言。这是我找到的唯一线索,你们可以试试:http://www.nodejs-news.com/nodejs-tech/nodejs-armv5-armv6-howto/
--------------------- 
 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值