Hi Luigi:
I reinstalled Quantil (v 3.12) and make and make install worked without errors. However, when I make a test file only including the #include <ql/quantlib.hpp> line, I get huge chunk of nasty errors. What gives?! Thanks again. [root@furnace cprogs]# cat test.cpp #include <ql/quantlib.hpp> [root@furnace cprogs]# g++ test.cpp /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../crt1.o(.text+0x18): In function `_start': : undefined reference to `main' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib17DiscretizedOptionE[vtable for QuantLib::DiscretizedOption]+0x1c): undefined reference to `QuantLib::DiscretizedOption::postAdjustValuesImpl()' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib21InArrearIndexedCouponE[vtable for QuantLib::InArrearIndexedCoupon]+0x34): undefined reference to `QuantLib::InArrearIndexedCoupon::convexityAdjustment(double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib18BlackVarianceCurveE[vtable for QuantLib::BlackVarianceCurve]+0x38): undefined reference to `QuantLib::BlackVarianceCurve::blackVarianceImpl(double, double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib19AffineTermStructureE[vtable for QuantLib::AffineTermStructure]+0x34): undefined reference to `QuantLib::AffineTermStructure::performCalculations() const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib19AffineTermStructureE[vtable for QuantLib::AffineTermStructure]+0x58): undefined reference to `non-virtual thunk to QuantLib::AffineTermStructure::performCalculations() const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib15CompoundForwardE[vtable for QuantLib::CompoundForward]+0x30): undefined reference to `QuantLib::CompoundForward::discountImpl(double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib15CompoundForwardE[vtable for QuantLib::CompoundForward]+0x34): undefined reference to `QuantLib::CompoundForward::forwardImpl(double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib15CompoundForwardE[vtable for QuantLib::CompoundForward]+0x38): undefined reference to `QuantLib::CompoundForward::zeroYieldImpl(double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib20BlackVarianceSurfaceE[vtable for QuantLib::BlackVarianceSurface]+0x38): undefined reference to `QuantLib::BlackVarianceSurface::blackVarianceImpl(double, double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib5ErrorD1Ev[QuantLib::Error::~Error()]+0x9): In function `QuantLib::Error::~Error()': test.cpp: undefined reference to `vtable for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib4DateplERKNS_6PeriodE[QuantLib::Date::operator+(QuantLib::Period const&) const]+0x33): In function `QuantLib::Date::operator+(QuantLib::Period const&) const': test.cpp: undefined reference to `QuantLib::Date::advance(QuantLib::Date const&, int, QuantLib::TimeUnit)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib8Settings9DateProxycvNS_4DateEEv[QuantLib::Settings::DateProxy::operator QuantLib::Date() const]+0xe): In function `QuantLib::Settings::DateProxy::operator QuantLib::Date() const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib8Settings9DateProxycvNS_4DateEEv[QuantLib::Settings::DateProxy::operator QuantLib::Date() const]+0x42):test.cpp: undefined reference to `QuantLib::Date::todaysDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib5Event6acceptERNS_14AcyclicVisitorE[QuantLib::Event::accept(QuantLib::AcyclicVisitor&)]+0x136): In function `QuantLib::Event::accept(QuantLib::AcyclicVisitor&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib5Event6acceptERNS_14AcyclicVisitorE[QuantLib::Event::accept(QuantLib::AcyclicVisitor&)]+0x2eb):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib10DotProductERKNS_5ArrayES2_[QuantLib::DotProduct(QuantLib::Array const&, QuantLib::Array const&)]+0x178): In function `QuantLib::DotProduct(QuantLib::Array const&, QuantLib::Array const&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib10DotProductERKNS_5ArrayES2_[QuantLib::DotProduct(QuantLib::Array const&, QuantLib::Array const&)]+0x32d):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument14setupArgumentsEPNS_9ArgumentsE[QuantLib::Instrument::setupArguments(QuantLib::Arguments*) const]+0xdb): In function `QuantLib::Instrument::setupArguments(QuantLib::Arguments*) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument14setupArgumentsEPNS_9ArgumentsE[QuantLib::Instrument::setupArguments(QuantLib::Arguments*) const]+0x290):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument12fetchResultsEPKNS_7ResultsE[QuantLib::Instrument::fetchResults(QuantLib::Results const*) const]+0x12f): In function `QuantLib::Instrument::fetchResults(QuantLib::Results const*) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument12fetchResultsEPKNS_7ResultsE[QuantLib::Instrument::fetchResults(QuantLib::Results const*) const]+0x2e4):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib6Payoff6acceptERNS_14AcyclicVisitorE[QuantLib::Payoff::accept(QuantLib::AcyclicVisitor&)]+0x136): In function `QuantLib::Payoff::accept(QuantLib::AcyclicVisitor&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib6Payoff6acceptERNS_14AcyclicVisitorE[QuantLib::Payoff::accept(QuantLib::AcyclicVisitor&)]+0x2eb):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib21BlackVolTermStructure6acceptERNS_14AcyclicVisitorE[QuantLib::BlackVolTermStructure::accept(QuantLib::AcyclicVisitor&)]+0x139): In function `QuantLib::BlackVolTermStructure::accept(QuantLib::AcyclicVisitor&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib21BlackVolTermStructure6acceptERNS_14AcyclicVisitorE[QuantLib::BlackVolTermStructure::accept(QuantLib::AcyclicVisitor&)]+0x2ee):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib21LocalVolTermStructure6acceptERNS_14AcyclicVisitorE[QuantLib::LocalVolTermStructure::accept(QuantLib::AcyclicVisitor&)]+0x139): In function `QuantLib::LocalVolTermStructure::accept(QuantLib::AcyclicVisitor&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib21LocalVolTermStructure6acceptERNS_14AcyclicVisitorE[QuantLib::LocalVolTermStructure::accept(QuantLib::AcyclicVisitor&)]+0x2ee):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib12InterestRate14discountFactorEd[QuantLib::InterestRate::discountFactor(double) const]+0x1f): In function `QuantLib::InterestRate::discountFactor(double) const': test.cpp: undefined reference to `QuantLib::InterestRate::compoundFactor(double) const' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure10checkRangeEdb[QuantLib::YieldTermStructure::checkRange(double, bool) const]+0x141): In function `QuantLib::YieldTermStructure::checkRange(double, bool) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure10checkRangeEdb[QuantLib::YieldTermStructure::checkRange(double, bool) const]+0x2f6):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure10checkRangeEdb[QuantLib::YieldTermStructure::checkRange(double, bool) const]+0x532):test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure10checkRangeEdb[QuantLib::YieldTermStructure::checkRange(double, bool) const]+0x6e7):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure8zeroRateEdNS_11CompoundingENS_9FrequencyEb[QuantLib::YieldTermStructure::zeroRate(double, QuantLib::Compounding, QuantLib::Frequency, bool) const]+0x90): In function `QuantLib::YieldTermStructure::zeroRate(double, QuantLib::Compounding, QuantLib::Frequency, bool) const': test.cpp: undefined reference to `QuantLib::InterestRate::impliedRate(double, double, QuantLib::DayCounter const&, QuantLib::Compounding, QuantLib::Frequency)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure11forwardRateEddNS_11CompoundingENS_9FrequencyEb[QuantLib::YieldTermStructure::forwardRate(double, double, QuantLib::Compounding, QuantLib::Frequency, bool) const]+0x1b0): In function `QuantLib::YieldTermStructure::forwardRate(double, double, QuantLib::Compounding, QuantLib::Frequency, bool) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure11forwardRateEddNS_11CompoundingENS_9FrequencyEb[QuantLib::YieldTermStructure::forwardRate(double, double, QuantLib::Compounding, QuantLib::Frequency, bool) const]+0x365):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18YieldTermStructure11forwardRateEddNS_11CompoundingENS_9FrequencyEb[QuantLib::YieldTermStructure::forwardRate(double, double, QuantLib::Compounding, QuantLib::Frequency, bool) const]+0x474):test.cpp: undefined reference to `QuantLib::InterestRate::impliedRate(double, double, QuantLib::DayCounter const&, QuantLib::Compounding, QuantLib::Frequency)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib20UpFrontIndexedCoupon10fixingDateEv[QuantLib::UpFrontIndexedCoupon::fixingDate() const]+0x2e): In function `QuantLib::UpFrontIndexedCoupon::fixingDate() const': test.cpp: undefined reference to `QuantLib::Calendar::advance(QuantLib::Date const&, int, QuantLib::TimeUnit, QuantLib::BusinessDayConvention) const' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18PlainVanillaPayoffclEd[QuantLib::PlainVanillaPayoff::operator()(double) const]+0x190): In function `QuantLib::PlainVanillaPayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18PlainVanillaPayoffclEd[QuantLib::PlainVanillaPayoff::operator()(double) const]+0x345):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib22PercentageStrikePayoffclEd[QuantLib::PercentageStrikePayoff::operator()(double) const]+0x196): In function `QuantLib::PercentageStrikePayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib22PercentageStrikePayoffclEd[QuantLib::PercentageStrikePayoff::operator()(double) const]+0x34b):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib19CashOrNothingPayoffclEd[QuantLib::CashOrNothingPayoff::operator()(double) const]+0x199): In function `QuantLib::CashOrNothingPayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib19CashOrNothingPayoffclEd[QuantLib::CashOrNothingPayoff::operator()(double) const]+0x34e):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib20AssetOrNothingPayoffclEd[QuantLib::AssetOrNothingPayoff::operator()(double) const]+0x199): In function `QuantLib::AssetOrNothingPayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib20AssetOrNothingPayoffclEd[QuantLib::AssetOrNothingPayoff::operator()(double) const]+0x34e):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib9GapPayoffclEd[QuantLib::GapPayoff::operator()(double) const]+0x1a7): In function `QuantLib::GapPayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib9GapPayoffclEd[QuantLib::GapPayoff::operator()(double) const]+0x35c):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib16SuperSharePayoffclEd[QuantLib::SuperSharePayoff::operator()(double) const]+0x21d): In function `QuantLib::SuperSharePayoff::operator()(double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib16SuperSharePayoffclEd[QuantLib::SuperSharePayoff::operator()(double) const]+0x3d2):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib16BlackConstantVol7maxDateEv[QuantLib::BlackConstantVol::maxDate() const]+0x12): In function `QuantLib::BlackConstantVol::maxDate() const': test.cpp: undefined reference to `QuantLib::Date::maxDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib11FlatForward7maxDateEv[QuantLib::FlatForward::maxDate() const]+0x12): In function `QuantLib::FlatForward::maxDate() const': test.cpp: undefined reference to `QuantLib::Date::maxDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib19AffineTermStructure7maxDateEv[QuantLib::AffineTermStructure::maxDate() const]+0x12): In function `QuantLib::AffineTermStructure::maxDate() const': test.cpp: undefined reference to `QuantLib::Date::maxDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib24CapletConstantVolatility7maxDateEv[QuantLib::CapletConstantVolatility::maxDate() const]+0x12): In function `QuantLib::CapletConstantVolatility::maxDate() const': test.cpp: undefined reference to `QuantLib::Date::maxDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib16LocalConstantVol7maxDateEv[QuantLib::LocalConstantVol::maxDate() const]+0x12): In function `QuantLib::LocalConstantVol::maxDate() const': test.cpp: undefined reference to `QuantLib::Date::maxDate()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib17InterpolationImplEEptEv[boost::shared_ptr<QuantLib::InterpolationImpl>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::InterpolationImpl>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib13Interpolation10checkRangeEdb[QuantLib::Interpolation::checkRange(double, bool) const]+0x243): In function `QuantLib::Interpolation::checkRange(double, bool) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib13Interpolation10checkRangeEdb[QuantLib::Interpolation::checkRange(double, bool) const]+0x3f8):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib18BlackVarianceCurveEEptEv[boost::shared_ptr<QuantLib::BlackVarianceCurve>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::BlackVarianceCurve>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib14DayCounterImplEEptEv[boost::shared_ptr<QuantLib::DayCounterImpl>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::DayCounterImpl>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10DayCounter12yearFractionERKNS_4DateES3_S3_S3_[QuantLib::DayCounter::yearFraction(QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&) const]+0xf2): In function `QuantLib::DayCounter::yearFraction(QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10DayCounter12yearFractionERKNS_4DateES3_S3_S3_[QuantLib::DayCounter::yearFraction(QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&, QuantLib::Date const&) const]+0x2a7):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib13TermStructure17timeFromReferenceERKNS_4DateE[QuantLib::TermStructure::timeFromReference(QuantLib::Date const&) const]+0x10): In function `QuantLib::TermStructure::timeFromReference(QuantLib::Date const&) const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib13TermStructure17timeFromReferenceERKNS_4DateE[QuantLib::TermStructure::timeFromReference(QuantLib::Date const&) const]+0x1f):test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0x153): In function `QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0x308):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0x536):test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0x6eb):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0x994):test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21BlackVolTermStructure10checkRangeEddb[QuantLib::BlackVolTermStructure::checkRange(double, double, bool) const]+0xb49):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib10ObservableEEptEv[boost::shared_ptr<QuantLib::Observable>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::Observable>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib5QuoteEEptEv[boost::shared_ptr<QuantLib::Quote>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::Quote>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib18YieldTermStructureEEptEv[boost::shared_ptr<QuantLib::YieldTermStructure>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::YieldTermStructure>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib21BlackVolTermStructureEEptEv[boost::shared_ptr<QuantLib::BlackVolTermStructure>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::BlackVolTermStructure>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib11AffineModelEEptEv[boost::shared_ptr<QuantLib::AffineModel>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::AffineModel>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib19Interpolation2DImplEEptEv[boost::shared_ptr<QuantLib::Interpolation2DImpl>::operator->() const]+0x24):test.cpp: more undefined references to `boost::assertion_failed(char const*, char const*, char const*, long)' follow /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib15Interpolation2D10checkRangeEddb[QuantLib::Interpolation2D::checkRange(double, double, bool) const]+0x32a): In function `QuantLib::Interpolation2D::checkRange(double, double, bool) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib15Interpolation2D10checkRangeEddb[QuantLib::Interpolation2D::checkRange(double, double, bool) const]+0x4df):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib5XiborEEptEv[boost::shared_ptr<QuantLib::Xibor>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::Xibor>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib21InArrearIndexedCoupon10fixingDateEv[QuantLib::InArrearIndexedCoupon::fixingDate() const]+0x4c): In function `QuantLib::InArrearIndexedCoupon::fixingDate() const': test.cpp: undefined reference to `QuantLib::Calendar::advance(QuantLib::Date const&, int, QuantLib::TimeUnit, QuantLib::BusinessDayConvention) const' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib5IndexEEptEv[boost::shared_ptr<QuantLib::Index>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::Index>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib13PricingEngineEEptEv[boost::shared_ptr<QuantLib::PricingEngine>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::PricingEngine>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument19performCalculationsEv[QuantLib::Instrument::performCalculations() const]+0xf8): In function `QuantLib::Instrument::performCalculations() const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib10Instrument19performCalculationsEv[QuantLib::Instrument::performCalculations() const]+0x2ad):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib16DiscretizedAssetEEptEv[boost::shared_ptr<QuantLib::DiscretizedAsset>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::DiscretizedAsset>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib10Observable15notifyObserversEv[QuantLib::Observable::notifyObservers()]+0x1a0): In function `QuantLib::Observable::notifyObservers()': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib10Observable15notifyObserversEv[QuantLib::Observable::notifyObservers()]+0x355):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib8SettingsEEdeEv[boost::shared_ptr<QuantLib::Settings>::operator*() const]+0x24): In function `boost::shared_ptr<QuantLib::Settings>::operator*() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib24SwaptionVolatilityMatrix12convertDatesERKNS_4DateERKNS_6PeriodE[QuantLib::SwaptionVolatilityMatrix::convertDates(QuantLib::Date const&, QuantLib::Period const&) const]+0x5a): In function `QuantLib::SwaptionVolatilityMatrix::convertDates(QuantLib::Date const&, QuantLib::Period const&) const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib24SwaptionVolatilityMatrix12convertDatesERKNS_4DateERKNS_6PeriodE[QuantLib::SwaptionVolatilityMatrix::convertDates(QuantLib::Date const&, QuantLib::Period const&) const]+0x69):test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib27SwaptionVolatilityStructure12convertDatesERKNS_4DateERKNS_6PeriodE[QuantLib::SwaptionVolatilityStructure::convertDates(QuantLib::Date const&, QuantLib::Period const&) const]+0x41): In function `QuantLib::SwaptionVolatilityStructure::convertDates(QuantLib::Date const&, QuantLib::Period const&) const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib27SwaptionVolatilityStructure12convertDatesERKNS_4DateERKNS_6PeriodE[QuantLib::SwaptionVolatilityStructure::convertDates(QuantLib::Date const&, QuantLib::Period const&) const]+0x50):test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib4LinkINS1_18YieldTermStructureEEEEdeEv[boost::shared_ptr<QuantLib::Link<QuantLib::YieldTermStructure> >::operator*() const]+0x24): In function `boost::shared_ptr<QuantLib::Link<QuantLib::YieldTermStructure> >::operator*() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib20ImpliedTermStructure12discountImplEd[QuantLib::ImpliedTermStructure::discountImpl(double) const]+0x36): In function `QuantLib::ImpliedTermStructure::discountImpl(double) const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib20ImpliedTermStructure12discountImplEd[QuantLib::ImpliedTermStructure::discountImpl(double) const]+0x45):test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18EuropeanPathPricerclERKNS_4PathE[QuantLib::EuropeanPathPricer::operator()(QuantLib::Path const&) const]+0xf9): In function `QuantLib::EuropeanPathPricer::operator()(QuantLib::Path const&) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib18EuropeanPathPricerclERKNS_4PathE[QuantLib::EuropeanPathPricer::operator()(QuantLib::Path const&) const]+0x2ae):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib4LinkINS1_5QuoteEEEEdeEv[boost::shared_ptr<QuantLib::Link<QuantLib::Quote> >::operator*() const]+0x24): In function `boost::shared_ptr<QuantLib::Link<QuantLib::Quote> >::operator*() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib11FlatForward10updateRateEv[QuantLib::FlatForward::updateRate()]+0x5d): In function `QuantLib::FlatForward::updateRate()': test.cpp: undefined reference to `QuantLib::InterestRate::InterestRate(double, QuantLib::DayCounter const&, QuantLib::Compounding, QuantLib::Frequency)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib4LinkINS1_21BlackVolTermStructureEEEEdeEv[boost::shared_ptr<QuantLib::Link<QuantLib::BlackVolTermStructure> >::operator*() const]+0x24): In function `boost::shared_ptr<QuantLib::Link<QuantLib::BlackVolTermStructure> >::operator*() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib23ImpliedVolTermStructure17blackVarianceImplEdd[QuantLib::ImpliedVolTermStructure::blackVarianceImpl(double, double) const]+0x28): In function `QuantLib::ImpliedVolTermStructure::blackVarianceImpl(double, double) const': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib23ImpliedVolTermStructure17blackVarianceImplEdd[QuantLib::ImpliedVolTermStructure::blackVarianceImpl(double, double) const]+0x37):test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib23ImpliedVolTermStructure17blackVarianceImplEdd[QuantLib::ImpliedVolTermStructure::blackVarianceImpl(double, double) const]+0x109):test.cpp: undefined reference to `QuantLib::BlackVolTermStructure::blackForwardVariance(double, double, double, bool) const' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib4LinkINS1_18BlackVarianceCurveEEEEdeEv[boost::shared_ptr<QuantLib::Link<QuantLib::BlackVarianceCurve> >::operator*() const]+0x24): In function `boost::shared_ptr<QuantLib::Link<QuantLib::BlackVarianceCurve> >::operator*() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLibmiERKNS_5ArrayES2_[QuantLib::operator-(QuantLib::Array const&, QuantLib::Array const&)]+0x179): In function `QuantLib::operator-(QuantLib::Array const&, QuantLib::Array const&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLibmiERKNS_5ArrayES2_[QuantLib::operator-(QuantLib::Array const&, QuantLib::Array const&)]+0x32e):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLibmlERKNS_6MatrixERKNS_5ArrayE[QuantLib::operator*(QuantLib::Matrix const&, QuantLib::Array const&)]+0x10b): In function `QuantLib::operator*(QuantLib::Matrix const&, QuantLib::Array const&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLibmlERKNS_6MatrixERKNS_5ArrayE[QuantLib::operator*(QuantLib::Matrix const&, QuantLib::Array const&)]+0x2c0):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib27CurveDependentStepConditionINS_5ArrayEE12applyToValueEdd[QuantLib::CurveDependentStepCondition<QuantLib::Array>::applyToValue(double, double) const]+0xff): In function `QuantLib::CurveDependentStepCondition<QuantLib::Array>::applyToValue(double, double) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib27CurveDependentStepConditionINS_5ArrayEE12applyToValueEdd[QuantLib::CurveDependentStepCondition<QuantLib::Array>::applyToValue(double, double) const]+0x2b4):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK5boost10shared_ptrIN8QuantLib27CurveDependentStepConditionINS1_5ArrayEE12CurveWrapperEEptEv[boost::shared_ptr<QuantLib::CurveDependentStepCondition<QuantLib::Array>::CurveWrapper>::operator->() const]+0x24): In function `boost::shared_ptr<QuantLib::CurveDependentStepCondition<QuantLib::Array>::CurveWrapper>::operator->() const': test.cpp: undefined reference to `boost::assertion_failed(char const*, char const*, char const*, long)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib24EuropeanHestonPathPricerclERKNS_9MultiPathE[QuantLib::EuropeanHestonPathPricer::operator()(QuantLib::MultiPath const&) const]+0x10c): In function `QuantLib::EuropeanHestonPathPricer::operator()(QuantLib::MultiPath const&) const': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib24EuropeanHestonPathPricerclERKNS_9MultiPathE[QuantLib::EuropeanHestonPathPricer::operator()(QuantLib::MultiPath const&) const]+0x2c1):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib17DiscretizedOption5resetEj[QuantLib::DiscretizedOption::reset(unsigned int)]+0x125): In function `QuantLib::DiscretizedOption::reset(unsigned int)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib17DiscretizedOption5resetEj[QuantLib::DiscretizedOption::reset(unsigned int)]+0x2da):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib13Interpolation12templateImplIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES8_EC2ERKS8_SB_SB_[QuantLib::Interpolation::templateImpl<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > >::templateImpl(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&)]+0x13c): In function `QuantLib::Interpolation::templateImpl<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > >::templateImpl(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&)': test.cpp: undefined reference to `QuantLib::Error::Error(std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, long, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib13Interpolation12templateImplIN9__gnu_cxx17__normal_iteratorIPdSt6vectorIdSaIdEEEES8_EC2ERKS8_SB_SB_[QuantLib::Interpolation::templateImpl<__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > >, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > >::templateImpl(__gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&, __gnu_cxx::__normal_iterator<double*, std::vector<double, std::allocator<double> > > const&)]+0x2f1):test.cpp: undefined reference to `typeinfo for QuantLib::Error' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZN8QuantLib8Settings9DateProxyC1Ev[QuantLib::Settings::DateProxy::DateProxy()]+0xe): In function `QuantLib::Settings::DateProxy::DateProxy()': test.cpp: undefined reference to `QuantLib::Date::Date()' /tmp/ccUfqbhw.o(.gnu.linkonce.t._ZNK8QuantLib13TermStructure13referenceDateEv[QuantLib::TermStructure::referenceDate() const]+0x73): In function `QuantLib::TermStructure::referenceDate() const': test.cpp: undefined reference to `QuantLib::Calendar::advance(QuantLib::Date const&, int, QuantLib::TimeUnit, QuantLib::BusinessDayConvention) const' collect2: ld returned 1 exit status |
On 31 March 2006 at 22:59, J S wrote:
| Hi Luigi: | I reinstalled Quantil (v 3.12) and make and make install worked | without errors. However, when I make a test file only including the | #include <ql/quantlib.hpp> line, I get huge chunk of nasty errors. | What gives?! | | Thanks again. | | [root@furnace cprogs]# cat test.cpp | #include <ql/quantlib.hpp> | [root@furnace cprogs]# g++ test.cpp | /usr/lib/gcc/i386-redhat-linux/4.0.2/../../../crt1.o(.text+0x18): In | function `_start': | : undefined reference to `main' | /tmp/ccUfqbhw.o(.gnu.linkonce.r._ZTVN8QuantLib17DiscretizedOptionE[vtable | for QuantLib::DiscretizedOption]+0x1c): undefined reference to | `QuantLib::DiscretizedOption::postAdjustValuesImpl()' You're cheating -- it's not yet April 1 in your timezone either! Seriously, here's a hint: Next time you wrestle with the compiler, look more closely, and if everything else fails, consider reading some documentation. What you have here is neither a) a valid program [ as it has no main() as g++ clearly tells you right at the very top of its output ] and b) is invoked incorrectly [ as you add QL headers but not the library, and again, the compiler and linker tell you, albeit cryptically ] Try this instead: edd@basebud:~> cat /tmp/q.cc #include <ql/quantlib.hpp> int main(void) { } edd@basebud:~> g++ -Wall /tmp/q.cc -o /tmp/q -lQuantLib edd@basebud:~> ls -l /tmp/q -rwxr-xr-x 1 edd edd 360646 Mar 31 23:46 /tmp/q edd@basebud:~> /tmp/q edd@basebud:~> The -Wall adds warnings which is often valuable. Good luck, Dirk -- Hell, there are no rules here - we're trying to accomplish something. -- Thomas A. Edison |
Hey Dirk:
Thanks for your reply. I wasn't using the -l flag (told you all I was new to this). I actually was having a problem not being able to find the .so file but I found my answer here (I was having the exact same problem): http://sourceforge.net/mailarchive/message.php?msg_id=14589322 Thanks again. |
Free forum by Nabble | Edit this page |