2014-09-29 6 views
0

Я успешно создал boost.python с визуальным C++ 2010 (динамическая библиотека, 64-разрядная версия). У меня есть python 2.7.8 64-бит, установленный на 64-битные окна Windows. Я прочитал here, что расширения python должны быть построены с тем же компилятором, который использовался для создания самого python. Мой вопрос в том, что, поскольку python 2.7.8 был построен с 64-битным компилятором Visual C++ 2008, могу ли я использовать следующий микс?boost.python built with VC2010

  1. мое расширение питон построен с VC2008 64-бит (чтобы соответствовать самому питона)
  2. 64-битный boost.python DLL построен с VC2010 64-битном
  3. питона 64-бит, построенный себя VC2008 64 -bit

Я заметил, что dll boost.python зависит от dll python, и именно поэтому меня очень беспокоит микс.

ответ

0

Я подозреваю, что все будет хорошо. Я видел случаи, когда такие вещи поступили не так (в частности, GCC 4.7.0 и 4.7.1 были ABI-несовместимы с релизами до и после, если вы использовали C++ 11), но в случае, если вы указали, что он имеет хорошие шансы на работу. Я бы сказал, попробуй (и отчитайся).

+0

Я пробовал некоторые световые сценарии со смешением в вопросе, и пока все идет хорошо. Также я видел много других сообщений (в Интернете и в других вопросах здесь, в переполнении стека), где люди упомянули, что они построили python.boost с визуальным C++ 2010, поэтому я пересекаю пальцы ... –

+0

Я разместил тот же вопрос [ здесь] (https://mail.python.org/pipermail/cplusplus-sig/2014-September/017151.html), и полученный мной ответ был связан с загрузкой нескольких библиотек времени выполнения в один и тот же процесс (в этом случае python), и это согласуется с моей гипотезой. Вероятно, лучше придерживаться построения boost.python с визуальным C++ 2008 64-бит на данный момент. –

Смежные вопросы