VC(Visual Studio)2005でboost::pythonを使おうとすると,
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.
というメッセージがでて使うことができません.
完全無保証ですが,次の方法でとりあえず使うことができました.
# py2exeはまだ動かせてません.どなたか教えてください.
1. PythonをVC2005でコンパイルする.
頑張ってください:-)
本家のソースだけでも最小限の構成ならバイナリを作ることができます.
2. VC2005用boost::pythonをインストールする.
boost/libs/python/build
で
>set PYTHON_VERSION=2.5
>set PYTHON_PATH=<Pythonのディレクトリ>
>bjam
でboost_python-vc80-mt-1_34.dllを作り,Python25のディレクトリにコピーしておきます.
3. python25/lib/distutilsを次のように変更する.
各自のインストール環境によって変わるかもしれません.このあたりを直せば動くというポインタ情報程度の認識でお願いします.
128行目あたり
- if version > 7.0: + if version >= 8.0: + self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv2.0") + elif version > 7.0: self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1")
255行目あたり
- if os.environ.has_key("DISTUTILS_USE_SDK") and os.environ.has_key("MSSdk") and self.find_exe("cl.exe"): + if self.__version >= 8 or (os.environ.has_key("DISTUTILS_USE_SDK") and os.environ.has_key("MSSdk") and self.find_exe("cl.exe")):
299行目あたり
+ if self.__version >= 8: + self.compile_options = [ '/nologo', '/Ox', '/MD', '/W3', '/EHsc' , + '/DNDEBUG'] + self.compile_options_debug = ['/nologo', '/Od', '/MDd', '/W3', '/EHsc', + '/Z7', '/D_DEBUG'] + else: self.compile_options = [ '/nologo', '/Ox', '/MD', '/W3', '/GX' , '/DNDEBUG'] self.compile_options_debug = ['/nologo', '/Od', '/MDd', '/W3', '/GX', '/Z7', '/D_DEBUG']
このようにすれば
LL魂2007デモコードのchaos.zipを
setup.py installでコンパイル&インストールすることができます(VPythonは別途必要).