Cygwin: установка Quantlib в Cygwin

Я попытался установить QuantLib-1.4 на Cygwin вместе с Boost_1_55_0, в основном, выполнив следующие действия: http://quantess.net/2012/09/26/quantlib-get-it-working-on-ubuntu/

После установки я запустил тестовые случаи Quantlib без ошибок:

xxx@xxx /usr/local/lib/QuantLib-1.4/test-suite
$ ./quantlib-test-suite.exe
Running 567 test cases...

Tests completed in 15 m 20 s*** No errors detected

Однако, когда я запустил простой код (main.cpp):

#include <ql/quantlib.hpp>

int main(){
return 0;
}

Кажется, что возникают ошибки компоновщика.

xxx@xxx /usr/local/lib
$ g++ -lQuantLib main.cpp
/tmp/ccvjpqgC.o:main.cpp:(.text$_ZNK8QuantLib4DateplERKNS_6PeriodE[__ZNK8QuantLib4DateplERKNS_6PeriodE]+0x2e): undefined reference to `QuantLib::Date::advance(QuantLib::Date const&, int, QuantLib::TimeUnit)'
/tmp/ccvjpqgC.o:main.cpp:(.text$_ZN8QuantLib5ErrorD1Ev[__ZN8QuantLib5ErrorD1Ev]+0xd): undefined reference to `vtable for QuantLib::Error'
/usr/lib/gcc/i686-pc-cygwin/4.8.2/../../../../i686-pc-cygwin/bin/ld: /tmp/ccvjpqgC.o: bad reloc address 0xd in section `.text$_ZN8QuantLib5ErrorD1Ev[__ZN8QuantLib5ErrorD1Ev]'
collect2: error: ld returned 1 exit status

Я попытался добавить INCLUDE_PATH и LIBRARY_PATH в переменные окружения Windows с небольшой разницей. Любая помощь здесь? (Я довольно новичок в GCC & Linux Env ​​… Спасибо)

0

Решение

Извините, я так поздно на вечеринку.

Это причуды GCC. Ваша команда не работает, но

g++ main.cpp -lQuantLib

делает вместо этого (см., например, Почему порядок, в котором связаны библиотеки, иногда вызывает ошибки в GCC? для подробного объяснения; короче говоря, gcc сканирует аргументы слева направо и ничего не загружает из QuantLib, если это первый аргумент, потому что никакой другой код еще не запрашивал никаких его функций).

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]