Установка QuantLib на macOS 10.12 Sierra

Я пытаюсь установить QuantLib на macOS Sierra, но когда я запускаю проверку в конце:

g++ -I/usr/local/include/ -I/usr/local/include/boost BermudanSwaption.cpp \
    -o bermudanswaption -L/usr/local/lib/ -lQuantLib

Я получаю следующую ошибку.

ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Я установил boost через Homebrew. Когда я запускаю brew install boost, я получаю boost-1.63.0 already installed. Первоначально я следовал инструкциям здесь, используя опцию Homebrew, но получил ту же последнюю ошибку и устаревание предупреждение при компиляции:

warning: libstdc++ is deprecated; move to libc++ with a minimum deployment target of OS X 10.9

Я изменил команды на следующие, и предупреждение об устаревании исчезло, но последняя ошибка осталась.

./configure --with-boost-include=/usr/local/include/ \
            --with-boost-lib=/usr/local/lib/ --prefix=/usr/local/ \
            CXXFLAGS='-O2 -stdlib=libc++ -mmacosx-version-min=10.9' \
            LDFLAGS='-stdlib=libc++ -mmacosx-version-min=10.9'

make && sudo make install

person cpage    schedule 18.02.2017    source источник
comment
Это очень просто. Вы ДОЛЖНЫ и ДОЛЖНЫ скомпилировать весь исходный код QuantLib, прежде чем пытаться связать символы.   -  person SmallChess    schedule 19.02.2017
comment
Какие символы не найдены?   -  person Luigi Ballabio    schedule 21.02.2017


Ответы (1)


Лучшее, что я нашел, это просто запустить brew install quantlib.

person WillZ    schedule 03.05.2017