python+c混合编程的模块 怎么交叉编译
前几天把 python3.6 交叉编译到了armv5的一台小设备上,这几天兴冲冲的在上边安装python的扩展。当安装到netifaces-0.10.6这个扩展的时候发现这东西是用c和python混合编程的, 得在主机上用交叉编译工具链 编译.so文件,于是翻了翻google有了此文章
1.下载netifaces源码
2.解压缩并进入到源码目录
图13.设置当前shell的环境变量,因为是交叉编译要改一下 CC指向的工具还有头文件库文件的地址 图2
```
export CROSS_COMPILE=arm-none-linux-gnueabi- #编译工具前缀export CC="${CROSS_COMPILE}gcc -pthread"
export LDSHARED="${CC} -shared"
export LDFLAGS="-L/home/lipingsheng/popo/local/lib" #目标板中运行的python的库文件位置
export CFLAGS="-I/home/lipingsheng/popo/local/include/python3.6m" #目标板中运行的python的头文件地址
```
解释一下最后两项的 意思,后两项指向的内容是前几天我交叉编译完成的能运行在armv5 小设备中的python的头文件和库文件地址(因为要交叉编译)
图24.执行编译
python3.6 setup.py build bdist_egg
图三5.结果
图四6.egg文件在 当前目录下的./dist目录。拷贝到目标板上 安装即可
图五看完别忘了点赞 嘿嘿
网友评论