I finally solved my problems.
I had 4 unresolved symbols.
3 were due to functions, which were declared and defined
with different signatures, e.g.
Quantlib:: DefaultEvent:: DefaultSettlement::recoveryRate
was declared in "QuantLib-1.0/ql/experimental/credit/defaultevent.hpp"
as
Real recoveryRate(Seniority sen) const;
while in "QuantLib-1.0/ql/experimental/credit/defaultevent.cpp"
Real recoveryRate(const Seniority sen) const { …
}
was defined.
The same problem i had with the constructors:
QuantLib::FdmHestonSolver::FdmHestonSolver
QuantLib::FdmHestonHullWhiteSolver:: FdmHestonHullWhiteSolver
They also had different declarations and definitions (parameters
declared as non-const,
but const in definition).
The 4-th unresolved symbol was the template function,
ForwardOptionArguments<QuantLib::Option::arguments>::validate
which was not instantiated, because the template definition (defined
in
/pricingengines/forward/forwardengine.hpp) was not visible
at the
instantiation location.
I simply added the line
#include
<ql/pricingengines/forward/forwardengine.hpp>
to
QuantLib-1.0/ql/instruments/forwardvanillaoption.cpp
and the problem was gone.
As i previously wrote, when compiling Quantlib with
Sunstudio i got
a lot of undefined "M_PI", "sqrt" etc..
I solved these by simply adding lots of "#include
<math.h>" to the sources,
perhaps this could be done more elegantly at a central
location.
But overall i can say QuantLib builds and runs fine on
Solaris10/Sparc/Sunstudio12.1
with only minor modifications.
Free forum by Nabble | Edit this page |