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