g++ compilation problem

Posted by Amadeus W.M. on
URL: http://quantlib.414.s1.nabble.com/g-compilation-problem-tp6800.html

I successfully compiled and installed QuantLib-0.9.7 and boost-1.38 on a
Fedora 9 machine using g++ 4.3.0, including the examples.

Now I'm trying to compile EquityOption.cpp out of the QuantLib source
tree, only to figure out how to compile things against QL. (By the way, a
line or two in the Docs showing how to compile standalone programs with
g++ against QL would be nice.)

The automatically generated Makefile in the Examples directory is way too
cryptic, so I tried the obvious:

g++ -g -Wall -o equityOption -I/usr/local/include/boost-1_38
EquityOption.cpp -lQuantLib

and I get countless undefined references. See below. Then I did a google
search and I found this answer:

http://www.daniweb.com/forums/thread114299.html

which has to do with how g++ handles the vtable. So how do I compile and
link ExampleOption.cpp (or the like) outside the quantlib src tree?

Thanks!



/tmp/ccBqI49b.o: In function `~CallableBondVolatilityStructure':
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `VTT for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `vtable for
QuantLib::CallableBondVolatilityStructure'
/usr/local/include/ql/experimental/callablebonds/
callablebondvolstructure.hpp:63: undefined reference to `VTT for
QuantLib::CallableBondVolatilityStructure'
/tmp/ccBqI49b.o: In function `~OneFactorCopula':
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `VTT for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `VTT for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `vtable for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `VTT for QuantLib::OneFactorCopula'
/usr/local/include/ql/experimental/credit/onefactorcopula.hpp:101:
undefined reference to `VTT for QuantLib::OneFactorCopula'

and on and on and on.




------------------------------------------------------------------------------
_______________________________________________
QuantLib-users mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/quantlib-users