Quantlib 1.14和Quantlib1.14-SWIG:不再支持VC ++ 10(2010)之前的Visual C ++版本

时间:2018-11-20 20:21:06

标签: python c++ quantlib quantlib-swig

我下载了Quantlib 1.14和Quantlib 1.14-Swig的tarbals。 SWIG下的quantlib文件夹确实包含quantlib_wrap.cpp。但是安装程序抱怨MSC版本。这是新的错误。这篇帖子与another post关联,缺少了quantlib_wrap.cpp错误消息。

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

我也会尝试1.13。但是实际上,我确实安装了VC ++ 14.0。我正在使用VS2015编译quantlib。不确定真正的原因。

我确实尝试了1.13并遇到链接错误。我认为可能是因为quantlib-swig(VC9.0)和quantlib(VC14)的编译不一致。如果是这样,我们如何控制quantlib-swig的编译版本?有控制该选项的选项吗?

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

1 个答案:

答案 0 :(得分:1)

我猜您正在为Python 2.7编译模块?

适用于Windows的Python 2.7是使用VC ++ 2008进行编译的,并且还可以使用它来编译外部模块。如果您可以改用Python 3.5或更高版本,它将使用VC ++ 2015安装。