无法为swig python设置QuantLib

时间:2014-09-21 12:33:18

标签: c++ boost quantlib-swig

我已成功为我的Windows框安装了QuabtLib,并希望将其移植到Linux Ubuntu。 Boost安装成功,我能够从swig目录运行./configure。但是,当我运行make文件时,系统会在以下位置冻结:

QuantLib/quantlib_wrap.cpp: In function ‘void* _p_TestSurfacePtrTo_p_boost__shared_ptrT_Surface_t(void*, int*)’:
QuantLib/quantlib_wrap.cpp:253496:41: warning: ‘Surface’ is deprecated (declared at /usr/include/ql/math/surface.hpp:47) [-Wdeprecated-declarations]
     return (void *)((boost::shared_ptr< Surface > *)  ((TestSurfacePtr *) x));
如果有人知道修复,会很棒。 环境信息:提升1.56                   QuantLib 1.4                   QuantLibSwig 1.4                   Python2.7.6                   Ubuntu 14 谢谢,

1 个答案:

答案 0 :(得分:1)

以上是我的评论,张贴为未来参考的答案。

预计会发出警告。 Surface类在QuantLib 1.4中被标记为已弃用,我们无论如何都要包装它,编译器会向我们发出警告。

可能由于可用内存耗尽而导致冻结(在原始海报的情况下肯定是造成的)。包装器很大,重约10 MB,编译它们需要相当多的资源。如果您正在使用虚拟机,请尝试添加更多内存。如果您使用的是物理计算机并且无法使用,请尝试禁用优化以降低编译过程的要求。您可以将CXXFLAGS=-O0传递给./configuremake