我下载了quantlib 1.14和quantlib 1.14-swig的tarbals。SWIG下的quantlib文件夹包含quantlib_wrap.cpp。但是安装程序会报错MSC版本。这是新的错误。这篇文章与关于缺少quantlib_wrap.cpp错误信息的another post相关。
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发布于 2018-11-21 06:42:07
我猜你是在编译Python 2.7的模块吧?
Python2.7 for Windows是用VC++ 2008编译的,也可以用它来编译外部模块。如果您可以切换到Python3.5或更高版本,它将使用您安装的VC++ 2015。
https://stackoverflow.com/questions/53400935
复制相似问题