python+c混合編程的模塊 怎么交叉編譯
前幾天把 python3.6 交叉編譯到了armv5的一臺(tái)小設(shè)備上靴拱,這幾天興沖沖的在上邊安裝python的擴(kuò)展厚掷。當(dāng)安裝到netifaces-0.10.6這個(gè)擴(kuò)展的時(shí)候發(fā)現(xiàn)這東西是用c和python混合編程的支示, 得在主機(jī)上用交叉編譯工具鏈 編譯.so文件褐墅,于是翻了翻google有了此文章
1.下載netifaces源碼
2.解壓縮并進(jìn)入到源碼目錄
3.設(shè)置當(dāng)前shell的環(huán)境變量置媳,因?yàn)槭墙徊婢幾g要改一下 CC指向的工具還有頭文件庫(kù)文件的地址 圖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"?? #目標(biāo)板中運(yùn)行的python的庫(kù)文件位置
export CFLAGS="-I/home/lipingsheng/popo/local/include/python3.6m" ?? #目標(biāo)板中運(yùn)行的python的頭文件地址
```
解釋一下最后兩項(xiàng)的 意思栓始,后兩項(xiàng)指向的內(nèi)容是前幾天我交叉編譯完成的能運(yùn)行在armv5 小設(shè)備中的python的頭文件和庫(kù)文件地址(因?yàn)橐徊婢幾g)
4.執(zhí)行編譯
python3.6 setup.py build bdist_egg
5.結(jié)果
6.egg文件在 當(dāng)前目錄下的./dist目錄胸完∈槭停拷貝到目標(biāo)板上 安裝即可
看完別忘了點(diǎn)贊 嘿嘿