2013-07-17 6 views
3

У меня есть рабочая кросс-компиляция Python, однако я пробовал перекрестно компилировать расширение py-smbus из i2c-tools, используя distutilscross и не может пройти мимо командной строки.Перекрестная компиляция родных C-расширений python с distutilscross, setup.py не принимает аргумент -x '

В документации (https://pypi.python.org/pypi/distutilscross) указано, что она должна быть такой же простой, как python setup.py build -x (после установки соответствующих переменных среды), однако, когда я запускаю эту команду, '-x' запускает ошибку с плохим аргументом.

Кто-нибудь знает, как это исправить?

+0

ли вы когда-нибудь найти ответ на этот вопрос? Я сталкиваюсь с той же проблемой и стараюсь использовать distutilscross без успеха. –

+0

Я думаю, что это осталось загадкой, я думаю, что в конце концов я сдался и написал для меня свою собственную C-прокладку. Сожалею! – Sparky

+0

Сначала я просто вытащил все материалы CFLAGS из основного Makefile для x-скомпилированного Python, но есть также информация в [здесь] (https://docs.python.org/2/extending/extending.html# compilation-and-linkage) о том, как включать модули непосредственно в основную компиляцию Python, которая, вероятно, является более долгосрочной для моих целей. –

ответ

0

Что-то вдоль линий этого подхода работали для меня:

export CC=your-platform-triple-gcc 
export LDSHARED="your-platform-triple-ld -shared" 
python setup.py build