Я пытаюсь установить 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