|
Boost : |
From: max (wankuang_at_[hidden])
Date: 2001-08-13 12:11:31
I tried to compile boost.python 1.20.2 with KCC4.0e on linux7.1.
Libary compilation seems fine and libboost_python.a was created. But
when I tried to compile test programs, it gives me errors. I tried two
programs, comprehensive.cpp in ./test directory and abstract.cpp in
./example directory, both gave me errors.
*************comprehensive.cpp*************
KCC -I/home/wan/boost -I/home/wan/Python/include/python2.1 -g -c
comprehensive.cpp
"comprehensive.cpp", line 705: error: more than one instance of
overloaded
function "pow" matches the argument list:
function "pow(float, int)"
function "pow(double, int)"
function "pow(long double, int)"
argument types are: (const int, const int)
Int pow(Int const & l, Int const & r) { return
Int(static_cast<int>(::pow(l.i_, r.i_))); }
^
"comprehensive.cpp", line 706: error: more than one instance of
overloaded
function "pow" matches the argument list:
function "pow(float, int)"
function "pow(double, int)"
function "pow(long double, int)"
argument types are: (const int, const int)
Int powmod(Int const & l, Int const & r, Int const & m) { return
Int((int)::pow(l.i_, r.i_) % m.i_); }
^
"comprehensive.cpp", line 707: error: more than one instance of
overloaded
function "pow" matches the argument list:
function "pow(float, int)"
function "pow(double, int)"
function "pow(long double, int)"
argument types are: (const int, const int)
Int pow(Int const & l, int const & r) { return
Int(static_cast<int>(::pow(l.i_, r))); }
********abstract.cpp*******************
KCC -I/home/wan/boost -I/home/wan/Python/include/python2.1
--restrict --one_per -g +K3 -O2 -c abstract.cpp
KCC -shared classes.o conversions.o extension_class.o functions.o
init_function.o module_builder.o objects.o types.o cross_module.o
abstract.o -o abstract.so
Recompiling extension_class.o
"/home/wan/boost/boost/python/detail/extension_class.hpp", line 362:
error:
identifier "py_extension_class_converters" is undefined
return
py_extension_class_converters(boost::python::type<T>()).to_python(x);
^
detected during:
instantiation of "PyObject *boost::python::to_python(const
T &)
[with T=boost::python::string]" at line 168 of
"/home/wan/boost/boost/python/reference.hpp"
instantiation of "boost::python::ref
boost::python::make_ref(const
T &) [with T=boost::python::string]"
***************************************************
Since KCC usually takes two step to compile a template-rich program, I
doubt it really finished libary compiling. The errors it complained
are in extension_class.o. Are idea what is wrong? thanks.
--- In boost_at_y..., Xavier Warin <xavier.warin_at_d...> wrote:
> elvis wrote:
>
> > What's wrong? Do I need to have -lboostpython swith for linker? It
is
> > not in the makefile.
> > BTW, is there anybody build successfully with KCC compiler? I
prefer
> > using KCC because it is much more efficient.
>
> I use KCC on LINUX and Solaris. But i get problem with the latest
Boost version.
> I use 1.20.2 instead with python 1.5.2, and it's fine.
Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk