【问题标题】:QuantLib 1.9 install on OS X在 OS X 上安装 QuantLib 1.9
【发布时间】:2017-03-20 21:50:01
【问题描述】:

错误叮当声:error: linker command failed with exit code 1 (use -v to see invocation)

在运行编译示例时,来自http://quantlib.org/install/macosx.shtml

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

错误信息是:

clang -cc1 version 8.0.0 (clang-800.0.42.1) default target x86_64-apple-darwin16.1.0
ignoring nonexistent directory "/usr/include/c++/v1"
#include "..." search starts here:
#include <...> search starts here:
 /opt/local/include
 /opt/local/include/boost
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1
 /usr/local/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/include
 /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include
 /usr/include
 /System/Library/Frameworks (framework directory)
 /Library/Frameworks (framework directory)
End of search list.
 "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -dynamic -arch x86_64 -macosx_version_min 10.12.0 -o bermudanswaption -L/opt/local/lib/ /var/folders/m3/39_h4bg52xzfv8800_zrkvrh0000gn/T/BermudanSwaption-a73fac.o -lQuantLib -lc++ -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/clang/8.0.0/lib/darwin/libclang_rt.osx.a
Undefined symbols for architecture x86_64:
......
  "QuantLib::detail::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, QuantLib::detail::percent_holder const&)", referenced from:
      calibrateModel(boost::shared_ptr<QuantLib::ShortRateModel> const&, std::__1::vector<boost::shared_ptr<QuantLib::CalibrationHelper>, std::__1::allocator<boost::shared_ptr<QuantLib::CalibrationHelper> > > const&) in BermudanSwaption-a73fac.o
      _main in BermudanSwaption-a73fac.o
  "QuantLib::operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, QuantLib::Date const&)", referenced from:
      QuantLib::InterestRateIndex::valueDate(QuantLib::Date const&) const in BermudanSwaption-a73fac.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

`

这是什么意思,为什么要调用 LLVM?我正在使用最新的 Xcode,Mac OSX 10.12.1,熟悉 python 但不熟悉命令行安装或编译....

【问题讨论】:

    标签: macos boost installation quantlib


    【解决方案1】:

    错误很简单。您只编译了 BermudanSwaption.cpp,但还需要编译整个 QuantLib。否则,链接器找不到实现。

    【讨论】:

    • 谢谢。错误的哪一部分描述了这一点? @学生T
    猜你喜欢
    • 2011-10-04
    • 2013-09-13
    • 2013-12-21
    • 2010-10-28
    • 2013-08-23
    • 2014-12-14
    • 2011-10-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多