[PyQt] Includes in wrapper library

Jay L. jlaura at asu.edu
Mon Nov 21 14:54:39 GMT 2016


I am not calling those libraries, but when running sip from the command
line (on my wrapper):

In file included from /data/mylib/inc/ControlPoint.h:32:0,
                 from py_mylib/bundle/ControlPoint.sip:5:
/data/mylib/inc/SurfacePoint.h:28:45: fatal error:
boost/numeric/ublas/symmetric.hpp: No such file or directory

ControlPoint.sip include has:

  4     %TypeHeaderCode

  5       #include "ControlPoint.h"

  6     %End

ControlPoint.h has the include to boost - which is causing the error.  I am
not explicitly calling boost from the Python side - the wrapped CPP is
though.  In this case, I have to include the necessary boost
libraries/headers?

Thanks,
J

On Mon, Nov 21, 2016 at 7:48 AM, Phil Thompson <phil at riverbankcomputing.com>
wrote:

> On 21 Nov 2016, at 1:41 pm, Jay L. <jlaura at asu.edu> wrote:
> >
> > This question is about includes in the target C++ library.  The target
> library has a number of 3rd party dependencies (Boost for example) that are
> included in the CPP headers.  Right now, I have a Makefile that manually
> edit in configure.py to patch in the wrapped library's includes:
> >
> >     extra_cxxflags = ["$(ALLINCDIRS)"]
> >     extra_libs = ["$(ALLLIBS)", "-Wl,-rpath," + root + "/lib",
> "-Wl,-rpath,"+ root +"/3rdParty/lib"]
> >     extra_lib_dirs = ["$(ALLLIBDIRS)"]
> >
> >     makefile = ModuleMakefile(configuration=config,
> build_file=build_file, installs=installs)
> >     makefile.extra_cxxflags = extra_cxxflags
> >     makefile.extra_lflags = extra_lib_dirs
> >     makefile.generate()
> >
> > This is working fine via configure.py, but I would love to be able to
> use setuptools/distutils and have a standard, pip installable package.
> >
> > 1) I want to confirm that any 3rd party libraries included in the code I
> am trying to wrap must be linked when building the bindings?
>
> Only if you are explicitly calling those libraries from your code.
>
> > 2) The ALLINCDIRS environment variable is coming from the wrapped
> library's build system.  Is anyone aware of a method to get this variable
> outside of make? (I doubt this is possible, as the variable is not even
> populated until make is invoked, but perhaps it is...)
>
> Phil
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://www.riverbankcomputing.com/pipermail/pyqt/attachments/20161121/5694ef62/attachment-0001.html>


More information about the PyQt mailing list