On 10/14/2010 10:17 AM, Bryant Gipson wrote:
Hi All,
Maybe a simple question, maybe not:
I have a binary-only module which was automatically generated by Py++
and its associated pre-compiled C++ libraries.
There's a basic C++ type "A" which was exposed along with plenty of
support functions in the associated C++ library which operate on it in
both C++ and Python.
i.e.
python:
a = mod.A();
mod.helpfulFunction(a);
>>Some helpful output.
My problem is now I want to write a module which operates on the C++
class A.
C++:
void mySlightlyHelpfulFunction(cppmodule::A &a)
{
...
}
BOOST_PYTHON_MODULE(myModule)
{
def("mySlightlyHelpfulFunction",mySlightlyHelpfulFunction);
}
Python:
a = mod.A()
myModule.mySlightlyHelpfulFunction(a)
myModule.mySlightlyHelpfulFunction(A)
did not match C++ signature:
mySlightlyHelpfulFunction(mod::A {lvalue})
I've also tried this with Py++ with the same results.
Thus far it appears that no converter has been globally registered by
the module mod.
Any help would be hugely appreciated.
I apologise if this is a trivial question, I'm still new to hybrid
C++/python.
This *should* work without anything extra, and generally does in a lot
of my own code.
All I can think of is that your two modules somehow are getting
different copies of the Boost.Python registry (maybe that happens with
static linking to the Boost Python library - if that's even possible?)
What platform/compiler are you using?
Jim Bosch
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig