2015-02-11 139 views
0

您好,我正在嘗試爲swyn綁定安裝python的quantlib,並且出現以下錯誤。我在Windows 7上,安裝Python 2.7的64位和內置quantlib 1.5與微軟的Visual Studio Express的2008年我在那裏進行的https://jenshuebel.wordpress.com/2009/02/12/visual-c-2008-express-edition-and-64-bit-targets/列出的所有步驟,以編譯64位代碼:使用python SWIG安裝quantlib

running build 
running build_py 
copying QuantLib\QuantLib.py -> build\lib.win-amd64-2.7\QuantLib 
running build_ext 
building 'QuantLib._QuantLib' extension 
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -D__WIN32__ -DWIN32 -DNDEBUG -D_WINDOWS -DNOMINMAX -IC:\Anaconda1\include -IC:\Anaconda1\PC -IC:\Users\nick11\Documents\software\QuantLib-1.5 -IC:\Boost\boost_1_57_0 /TpQuantLib/quantlib_wrap.cpp /Fobuild\temp.win-amd64-2.7\Release\QuantLib/quantlib_wrap.obj /GR /FD /Zm250 /EHsc /MD 
quantlib_wrap.cpp 
C:\Boost\boost_1_57_0\boost/type_index.hpp(37) : warning C4068: unknown pragma 
QuantLib/quantlib_wrap.cpp(13920) : warning C4018: '<' : signed/unsigned mismatch 
c:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:C:\Anaconda1\libs /LIBPATH:C:\Anaconda1\PCbuild\amd64 /LIBPATH:C:\Users\stathis1\Documents\software\QuantLib-1.5\lib /LIBPATH:C:\Boost\boost_1_57_0\libs /LIBPATH:C:\Users\nick1\Documents\software\QuantLib-1.5\lib /EXPORT:init_QuantLib build\temp.win-amd64-2.7\Release\QuantLib/quantlib_wrap.obj /OUT:build\lib.win-amd64-2.7\QuantLib\_QuantLib.pyd /IMPLIB:build\temp.win-amd64-2.7\Release\QuantLib\_QuantLib.lib /MANIFESTFILE:build\temp.win-amd64-2.7\Release\QuantLib\_QuantLib.pyd.manifest /subsystem:windows /machine:I386 
python27.lib(python27.dll) : fatal error LNK1112: module machine type 'x64' conflicts with target machine type 'X86' 

回答

1

看來你想建立一個版本的32位Python,但是您已經激活了Visual Studio的64_Bit工具鏈。

解決方案可能是在開始構建quantlib python庫之前啓用Visual Studio 32位工具鏈。

對在MSDN頁面相應的文檔看看:

https://msdn.microsoft.com/en-us/library/x4d2c09s%28v=vs.90%29.aspx

不能測試它自己,因爲我沒有安裝Visual Studio 2008中。但是當我嘗試使用32位工具鏈構建64位Python時,我遇到了與VS2015相同的問題。