Я успешно установил QuabtLib для своего окна и хотел перенести его на Linux Ubuntu. Установка Boost прошла успешно, и я смог запустить ./configure из каталога swig. Однако, когда я запускаю файл 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
Спасибо,
Вот мой комментарий выше, опубликованный в качестве ответа для дальнейшего использования.
Предупреждение ожидается. Surface
класс был помечен как устаревший в QuantLib 1.4, мы его все равно оборачиваем, и компилятор предупреждает нас об этом.
Замораживание, вероятно, вызвано (определенно было вызвано в случае оригинального плаката) истощением доступной памяти. Оболочки огромные, весят около 10 Мбайт, и для их компиляции требуется немало ресурсов. Если вы используете виртуальную машину, попробуйте добавить больше памяти. Если вы используете физическую машину и не можете, попробуйте отключить оптимизацию, чтобы сделать процесс компиляции менее сложным. Вы можете сделать это, передав CXXFLAGS=-O0
либо ./configure
или же make
,