Holger, Thanks for the reply. I'm a little bit confused about the .inl file. Sorry if these are obvious questions, I'm still somewhat new at this.
So this "pfemPy.inl" is what actually contains the python bindings? So the commands like class_<foo>("foo").def(...) are in the .inl file? Are these wrapped in their own BOOST_PYTHON_MODULE(...) {} block, or are they in some other format? Then PfemInst::call(), what does that do? I'm a little bit confused, if you are still writing the wrapper calls, why not just put them in the BOOST_PYTHON_MODULE you have here? Why keep them in a seperate file, #include them and then use the ::call() function? Also, I am not tied to usnig bjam, that is just what the boost.python tutorial recommended. How are you compiling your python extension modules? Can you point me to some information about it? Thanks for your help, Trevor -----Original Message----- From: Cplusplus-sig [mailto:cplusplus-sig-bounces+trevor.haba=logmein....@python.org] On Behalf Of Holger Brandsmeier Sent: Wednesday, June 12, 2013 11:27 AM To: Development of Python/C++ integration Subject: Re: [C++-sig] Alternate locations for BOOST_PYTHON_MODULE Trevor, that is certainly possible, all my python exports look like this: #include "pfemPy.inl" BOOST_PYTHON_MODULE(pfemPy) { PfemInst::call(); } // boost module Then e.g. in "pfemPy.inl" I wrap and export the C++ classes. The file "pfemPy.inl" in turn includes the header of the required source which are "untoched". I can not help you about the Jamroot, as I am not using bjam. -Holger On Wed, Jun 12, 2013 at 11:05 AM, Trevor Haba <trevor.h...@logmein.com> wrote: > Hello, > > > > I am attempting to make a large pre-existing code base accessible to > python, so that I can run quick scripts to automate the behavior of > certain classes for testing purposes. We are using C++ and python 3.3 > with the boost.python library. I have a script to automatically > generate the BOOST_PYTHON_MODULE( … ) wrapper definitions for the C++ > source code. But, because this is a pre-existing code base with other > people already working on it, I would prefer to not have to modify the > source code files of all of the classes by inserting the python > wrappers at the bottom. All the examples I’ve seen show the > BOOST_PYTHON_MODULE at the bottom of the C++ source file. Is it > possible to put the BOOST_PYTHON_MODULE in a separate file, and > #include the class it is wrapping? If so, how would I do this? And how would > I configure the Jamroot file to compile these properly? > > > > Also, I’m targeting windows systems and using Visual Studio 2010, if > that matters > > > > Thanks very much, > > Trevor > > > > > _______________________________________________ > Cplusplus-sig mailing list > Cplusplus-sig@python.org > http://mail.python.org/mailman/listinfo/cplusplus-sig _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig _______________________________________________ Cplusplus-sig mailing list Cplusplus-sig@python.org http://mail.python.org/mailman/listinfo/cplusplus-sig