问题描述
我下载了Quantlib 1.14和Quantlib 1.14-Swig的tarbal. SWIG下的quantlib文件夹确实包含quantlib_wrap.cpp.但是安装程序抱怨MSC版本.这是新的错误.这篇文章与.
I downloaded tarbals for both quantlib 1.14 and quantlib 1.14-swig. The quantlib folder under SWIG does contain the quantlib_wrap.cpp. But the setup complains the the MSC version. Here is the new error. This post is associated with another post on missing quantlib_wrap.cpp
error message.
C:\Users\Public\3rdParty\Libraries\QuantLib-1.14\ql/config.msvc.hpp(29) : fatal error C1189: #error : "versions of Visual C++ prior to VC++10 (2010) are no longer supported"
error: command 'C:\\Users\\U435169\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\cl.exe' failed with exit status 2.
使用1.13.不再支持VC9. –路易吉·巴拉比奥(Luigi Ballabio)
Use 1.13. VC9 is no longer supported. – Luigi Ballabio
我也会尝试1.13.但是实际上,我确实安装了VC ++ 14.0.我正在使用VS2015编译quantlib.不确定真正的原因.
I will try 1.13 also. But actually, I do have VC++ 14.0 installed. I am using VS2015 to compile the quantlib. Not sure the true reason.
我确实尝试了1.13并遇到链接错误.我认为可能是因为quantlib-swig(VC9.0)和quantlib(VC14)的编译不一致.如果是这样,我们如何控制quantlib-swig的编译版本?有控制该选项的选项吗?
I did try the 1.13 and run into linking error. I think it might be from the inconsistency between the compile of quantlib-swig (VC9.0) and quantlib(VC14). If that is the case, how do we control the compiling version of quantlib-swig? Is there an option to control that?
C:\Users\U435169\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\cl.exe /c /nologo /Ox /MD /W3 /GS- /DNDEBUG -D__WIN32__ -DWIN32 -DNDEBUG -D_WINDOWS -DNOMINMAX -ID:\packages\Python27\include -ID:\packages\Python27\PC -IC:\Users\Public\3rdParty\Libraries\QuantLib-1.13 -IC:\Users\Public\MSYS2\mingw32\include /TpQuantLib/quantlib_wrap.cpp /Fobuild\temp.win32-2.7\Release\QuantLib/quantlib_wrap.obj /GR /FD /Zm250 /EHsc /bigobj /MD
quantlib_wrap.cpp
C:\Users\U435169\AppData\Local\Programs\Common\Microsoft\Visual C++ for Python\9.0\VC\Bin\link.exe /DLL /nologo /INCREMENTAL:NO /LIBPATH:D:\packages\Python27\libs /LIBPATH:D:\packages\Python27\PCbuild /LIBPATH:D:\packages\Python27\PC\VS9.0 /LIBPATH:C:\Users\Public\3rdParty\Libraries\QuantLib-1.13\lib /EXPORT:init_QuantLib build\temp.win32-2.7\Release\QuantLib/quantlib_wrap.obj /OUT:build\lib.win32-2.7\QuantLib\_QuantLib.pyd /IMPLIB:build\temp.win32-2.7\Release\QuantLib\_QuantLib.lib /MANIFESTFILE:build\temp.win32-2.7\Release\QuantLib\_QuantLib.pyd.manifest /subsystem:windows /machine:x86
LINK : fatal error LNK1104: cannot open file 'QuantLib-vc90-mt.lib'
error: command 'C:\\Users\\U435169\\AppData\\Local\\Programs\\Common\\Microsoft\\Visual C++ for Python\\9.0\\VC\\Bin\\link.exe' failed with exit status 1104
推荐答案
我猜您正在为Python 2.7编译模块?
I'm guessing you're compiling the module for Python 2.7?
适用于Windows的Python 2.7是使用VC ++ 2008进行编译的,并且还用于编译外部模块.如果您可以改用Python 3.5或更高版本,它将使用VC ++ 2015安装.
Python 2.7 for Windows is compiled with VC++ 2008 and uses it for compiling external modules as well. If you can switch to Python 3.5 or later instead, it will use your VC++ 2015 installation.
这篇关于Quantlib 1.14和Quantlib1.14-SWIG:不再支持VC ++ 10(2010)之前的Visual C ++版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!