On Thu, Apr 29, 2010 at 11:03 AM, Maciej Sitarz <macieksit...@wp.pl> wrote:
> As I described it before I tried it, but gccxml couldn't parse the
> tuples.hpp file.
>
> I build gccxml from CVS ver. 0.9( 1.134 ) and it parsed the source file
> successfully. That's a big progress since the last time.
> But now... there's some problem with pygccxml I think :|
>
> I get the following error:
> ...

Okey, now I have the ( positive I hope ) answers for you.

First of all the error you see. In your case, py++ compiles separately
both files and then it tries to merge their declarations tree.
Obviously  it fails. I will try to find time and fix this bug.

The work around is pretty simple: create a helper file, which will
include both files and path it to py++. It should resolve this
problem.


Unfortunately, py++ doesn't support/generate code for boost::tuple, so
some additional work from you is needed:

1. You will need 'tuples.hpp' file from
http://www.language-binding.net/_downloads/automatic_conversion.zip
archive.
2. You will have to place it with the generated files
3. Add "include' and "registration' code to the code generator:

mb = module_builder_t( ... )

#do this step for every tuple type you have
mb.add_registration_code( 'boost::python::register_tuple<
boost::tuple<JobIdWrapper::RESULT, JobIdWrapper, std::string> >();' );

mb.build_code_creator( <your module name> )

mb.code_creator.add_include( 'tuples.hpp' )

And you should be fine.


I created a test and verified that the proposed solution actually
works. I will try to add "boost::tuple" support to py++ next week.

Let me know, if you need more help with this issue.

-- 
Roman Yakovenko
C++ Python language binding
http://www.language-binding.net/
_______________________________________________
Cplusplus-sig mailing list
Cplusplus-sig@python.org
http://mail.python.org/mailman/listinfo/cplusplus-sig

Reply via email to