Могу ли я использовать VS2005 для создания расширений для системы Python, созданной с помощью VS2003

StackOverflow https://stackoverflow.com/questions/606680

Вопрос

RDFLib требуется скомпилировать расширения C для установки в ActiveState Python 2.5;насколько я могу судить, нигде в Интернете нет очевидного бинарного установщика.При попытке установки с помощью python setup.py install, он выдает следующее сообщение:

error: Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries.
Visual Studio 2003 was not found on this system. If you have Cygwin installed,
you can try compiling with MingW32, by passing "-c mingw32" to setup.py.

Есть такие различные Ресурсы в Интернете есть информация о настройке компилятора для дистрибутивов, в которых обсуждается использование MinGW, хотя у меня это еще не заработало.В качестве альтернативы у меня есть VS2005.

Может ли кто-нибудь категорически сказать мне, можете ли вы использовать компилятор C в VS2005 для создания модулей расширения Python для скомпилированного VS2003 Python (в данном случае ActiveState Python 2.5).Если это возможно, то какая конфигурация необходима?

Это было полезно?

Решение

Я не могу сказать вам категорически, но я не верю, что вы можете.Я столкнулся с этой проблемой только в обратной ситуации (Python, созданный с помощью VS2005, пытается выполнить сборку с помощью VS2003).Поиск в Интернете не нашел никакого способа обойти это.Моим конечным решением было приобрести VC Express, поскольку именно в 2005 году Microsoft начала выпускать бесплатные версии.Но это, очевидно, не вариант для вас.

Я не использую ActiveState Python, но есть ли более новая версия, которую вы могли бы использовать?Исходный код поставляется с файлами проекта для VS2008, и я почти уверен, что python.org бинарные сборки некоторое время назад перестали использовать VS2003.

Другие советы

Основная проблема заключается в библиотеке времени выполнения C.Python 2.4 / 2.5 связан с msvcr71.dll и, следовательно, все C-расширения должны быть связаны с этой dll.

Другой вариант - использовать gcc (mingw) вместо VS2005, вы можете использовать его только для компиляции расширений python.Существует достойный установщик, который позволяет вам настроить gcc в качестве компилятора по умолчанию для вашей версии Python:

http://www.develer.com/oss/GccWinBinaries

По состоянию на сегодняшний день, март 2012 года, я могу категорически заявить, что это возможно с Python2.4.4 (только тот, который я тестировал) и Visual Studio 2005 и 2008.Просто устанавливаю VS10, чтобы проверить это.Я не знаю, почему это работает, и у меня проблемы с использованием distutils, поэтому мне приходится компилировать вручную.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top