python库支持arm_交叉编译Python至嵌入式arm(支持import sqlite3,datetime等)-----Cross Compiling Pyth...

移植前准备工作:

1,Linux操作系统(ubuntu 12.04)

2,Linux操作系统,有交叉编译器(此编译器需与你的嵌入式设备配套),求毕业的交叉编译器是:arm-xilinx-linux-gnueabi-gcc

3,python源码包,去官网ftp下吧

OK,开始啦!求毕业以 Python-2.7.3为例

1 /home/liu# tar jxvf

Python-2.7.3.tar.bz2

2 /home/liu# cd

Python-2.7.3/

运行配置文件,生成必要的Makefile等文件

3 /home/liu/Python-2.7.3#

./configure

编译PC版 python Parser/pgen

4 /home/liu/Python-2.7.3# make python

Parser/pgen

将生成的PC版移动至hostpython

5 /home/liu/Python-2.7.3# mv python

hostpython

将生成的PC版解释器移动至Parser/hostpgen

6 /home/liu/Python-2.7.3# mv

Parser/pgen Parser/hostpgen

清除不必要的文件

7 make distclean

以下部分涉及到交叉编译Python

先将补丁打上:

8 /home/liu/Python-2.7.3# patch -p1

设置必要的环境变量

设置交叉编译器

9 /home/liu/Python-2.7.3#

CC=arm-xilinx-linux-gnueabi-gcc

设置C++交叉编译器

10 /home/liu/Python-2.7.3#

CXX=arm-xilinx-linux-gnueabi-g++

设置AR

11 /home/liu/Python-2.7.3#

AR=arm-xilinx-linux-gnueabi-ar

设置RANLIB

12 /home/liu/Python-2.7.3#

RANLIB=arm-xilinx-linux-gnueabi-ranlib

生成符合交叉编译器的Makefile

13 /home/liu/Python-2.7.3# ./configure

--host=arm-xilinx-linux-gnueabi --prefix=/python

make

14 /home/liu/Python-2.7.3#

make HOSTPYTHON=./hostpython

HOSTPGEN=./Parser/hostpgen BLDSHARED="arm-xilinx-linux-gnueabi-gcc

-shared" CROSS_COMPILE=arm-xilinx-linux-gnueabi-

CROSS_COMPILE_TARGET=yes

make install安装到指定文件

15 /home/liu/Python-2.7.3# make install

HOSTPYTHON=./hostpython BLDSHARED="arm-xilinx-linux-gnueabi-gcc

-shared" CROSS_COMPILE=arm-xilinx-linux-gnueabi-

CROSS_COMPILE_TARGET=yes

prefix=/home/liu/Python-2.7.3/_install

此时,可以在ARM上执行的文件会生成在/home/liu/Python-2.7.3/_install中

另外:以上部分,是借鉴国外的两位朋友做的1:http://randomsplat.com/id5-cross-compiling-python-for-embedded-linux.html

2:http://www.cnx-software.com/2011/02/04/cross-compiling-python-for-mips-and-arm-platforms/

原文:http://www.cnblogs.com/hit-python/p/4079506.html​

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值