2011-01-13 13 views
0

私は、Python 2.7に拡張として公開したいC++ 0xで書かれたコードをいくつか持っています。VC2010でPython拡張をコンパイルする

いくつかのC++ 0x機能を使用しているので、私はC++ 03で書き直したくないので、VC2010を使用することを余儀なくされています。しかし、デフォルトのPython 2.7インストールはVC2008でコンパイルされます。

distutilsにVC2010を強制的に使用させる方法を説明しているが、コメント者はmsvcr90.dll(インタープリタによってリンクされている)とmsvcr100.dll(拡張子によってリンクされている) 。

Pythonを再コンパイルせずにVC2010で拡張機能をコンパイルする方法はありますか?

(私は最近、Windows上でプログラミングを始めましたので、私は動的リンクがどのように動作するかを正確に理解していない)

答えて

2

いいえ、ありません。

VS2010ツールセットで何かをコンパイルすると、既に理解したように、msvcr100.dllとリンクします。 Pythonはmsvcr90.dllとリンクしているので、それらを同じアプリケーションで混在させると不愉快な驚きを受けるでしょう。

あなたの最良の選択肢は、おそらくC++ 0x機能の使用をやめ、VS2008またはmingwで拡張機能をコンパイルすることです。

これは配布を意図しておらず、再生のみを目的としたものであれば、VS2010を使用してPythonをコンパイルすることが唯一の選択肢です。

関連する問題