Python arm的交叉编译py-spidev

Python arm的交叉编译py-spidev,python,arm,cross-compiling,Python,Arm,Cross Compiling,我正在尝试为ARM9(嵌入式系统)交叉编译py spidev模块 在Ubuntu 64位虚拟机中,我这样做了(在我的主目录中): 但是spidev_module.c是用x86_64-linux-gnu-gcc编译的,而不是我的交叉编译器(arm-poky-linux-gnueabi-gcc) 如何强制python setup.py安装使用我的交叉编译器?感谢您的帮助 我找到了解决方案,所以我为那些有同样问题的人发布了它 这就是我所做的: git clone https://github.com/

我正在尝试为ARM9(嵌入式系统)交叉编译py spidev模块

在Ubuntu 64位虚拟机中,我这样做了(在我的主目录中):

但是spidev_module.c是用x86_64-linux-gnu-gcc编译的,而不是我的交叉编译器(arm-poky-linux-gnueabi-gcc)


如何强制python setup.py安装使用我的交叉编译器?

感谢您的帮助

我找到了解决方案,所以我为那些有同样问题的人发布了它

这就是我所做的:

git clone https://github.com/doceme/py-spidev
cd py-spidev
export ARCH=arm
PLAT=arm-poky-linux-gnueabi-
export CROSS_COMPILE=arm-poky-linux-gnueabi-
export PATH=$PATH:"Path_to_my_cross_compiler"
export CC="${PLAT}gcc -pthread"
export LDSHARED="${CC} -shared"
export CROSSBASE="Path of destination"
export CFLAGS="-I "path to python cross compiled include" -I${CROSSBASE}/usr/include"
export LDFLAGS="-L "path to python cross compiled libs" -L${CROSSBASE}/lib -L${CROSSBASE}/usr/lib"
python setup.py install --prefix=CROSSBASE

享受:)

+1。不仅对py-spidev很有用,对其他包也很有用。提示:当您
source
poky工具链时,其中一些标志会自动设置,如下所述:。我的问题是,
LDSHARED
不是自动设置的,因此在setup.py安装期间,它仍然使用x86_64链接.so文件。我不得不手动设置
LDSHARED
来解决这个问题。
git clone https://github.com/doceme/py-spidev
cd py-spidev
export ARCH=arm
PLAT=arm-poky-linux-gnueabi-
export CROSS_COMPILE=arm-poky-linux-gnueabi-
export PATH=$PATH:"Path_to_my_cross_compiler"
export CC="${PLAT}gcc -pthread"
export LDSHARED="${CC} -shared"
export CROSSBASE="Path of destination"
export CFLAGS="-I "path to python cross compiled include" -I${CROSSBASE}/usr/include"
export LDFLAGS="-L "path to python cross compiled libs" -L${CROSSBASE}/lib -L${CROSSBASE}/usr/lib"
python setup.py install --prefix=CROSSBASE