Quantlib 1.14 и Quantlib1.14-SWIG: версии Visual C ++ до VC ++ 10 (2010) больше не поддерживаются - PullRequest
0 голосов
/ 20 ноября 2018

Я скачал tarbals как для Quantlib 1.14, так и для Quantlib 1.14-swig.Папка quantlib в SWIG содержит файл quantlib_wrap.cpp.Но установка жалуется на версию MSC.Вот новая ошибка.Этот пост связан с другим постом при пропущенном 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 больше не поддерживается.- Луиджи Баллабио

Я тоже попробую 1.13.Но на самом деле у меня установлен VC ++ 14.0.Я использую VS2015 для компиляции квантлиб.Не уверен в истинной причине.

Я попробовал 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 голосов
/ 21 ноября 2018

Я предполагаю, что вы компилируете модуль для Python 2.7?

Python 2.7 для Windows скомпилирован с VC ++ 2008 и использует его также для компиляции внешних модулей.Если вы можете переключиться на Python 3.5 или более поздней версии, он будет использовать вашу установку VC ++ 2015.

...