|
From: Andreas S. <an...@sp...> - 2009-02-18 16:16:50
|
Hi, I am trying to compile Quantlib on SUN Solaris 10 using SUN CC (I tried v5.7, v5.8 and v5.10, btw...) Appearantly the SUN compiler is somehow missing operator== implementations for e.g. ExchangeRateManager, because I get the following error: libtool: compile: CC -DHAVE_CONFIG_H -I. -I. -I../../ql -I../.. -I../.. -I/home/spenglan/local/include/boost-1_38 -erroff=wvarhidemem,hidevf,hidevfinvb,wbadinitl,badargtypel2w -errtags=yes -KPIC -features=rtti -template=wholeclass -instances=global -g -xs -fast -library=rwtools7,iostream,no%stlport4,Crun -xarch=v8plusa -fsimple=1 -mt -Drindex=rindex -Dindex=index -D__solaris_sparc__ -O3 -c exchangeratemanager.cpp -KPIC -DPIC -o .libs/exchangeratemanager.o "/home/spenglan/SUNWspro/prod/include/CC/Cstd/./list.cc", line 173: Error, badbinaryop: The operation "QuantLib::ExchangeRateManager::Entry == const QuantLib::ExchangeRateManager::Entry" is illegal. "/home/spenglan/SUNWspro/prod/include/CC/Cstd/./list", line 468: Where, temwhileinst: While instantiating "std::list<QuantLib::ExchangeRateManager::Entry>::remove(const QuantLib::ExchangeRateManager::Entry&)". "/home/spenglan/SUNWspro/prod/include/CC/Cstd/./list", line 468: Where, teminstend: Instantiated from non-template code. 1 Error(s) detected. Perhaps I am using a bad compiler switch. When I add an operator== in Quantlib::ExchangeRateManager::Entry (doing memberwise comparison), I get the same error above for Quantlib::ExchangeRateManager This can't be correct that the compiler does not generate implicit operator== methods himself, right? Rgds, Andreas |