[lttng-dev] linking C++ modules against lttng-ust libraries

Mathieu Desnoyers mathieu.desnoyers at efficios.com
Tue May 13 09:35:29 EDT 2014


----- Original Message -----
> From: "Jérémie Galarneau" <jeremie.galarneau at efficios.com>
> To: "Gerlando Falauto" <gerlando.falauto at keymile.com>
> Cc: lttng-dev at lists.lttng.org
> Sent: Monday, May 12, 2014 1:43:06 PM
> Subject: Re: [lttng-dev] linking C++ modules against lttng-ust libraries
> 
> On Mon, May 12, 2014 at 10:53 AM, Gerlando Falauto
> <gerlando.falauto at keymile.com> wrote:
> > Hi,
> >
> > I am trying to link a C++ application against lttng-ust, with a simple test
> > case, and I get the following error message upon linking:
> >
> > main.cpp:109: undefined reference to `_lttng_ust_tracef(char const*, ...)'
> >
> > where main.cpp reads:
> > ...
> > 13: #include <lttng/tracef.h>
> > ...
> > 109: tracef("my message, this integer %d", 1234);
> > ...
> >
> > The following seems to fix my problem:
> >
> > diff --git a/include/lttng/tracef.h b/include/lttng/tracef.h
> > index 16a984b..98338d8 100644
> > --- a/include/lttng/tracef.h
> > +++ b/include/lttng/tracef.h
> > @@ -23,6 +23,10 @@
> >   * SOFTWARE.
> >   */
> >
> > +#ifdef __cplusplus
> > +extern "C" {
> > +#endif
> > +
> >  #include <lttng/lttng-ust-tracef.h>
> >
> >  extern
> > @@ -35,4 +39,8 @@ void _lttng_ust_tracef(const char *fmt, ...);
> >                         _lttng_ust_tracef(fmt, ## __VA_ARGS__);         \
> >         } while (0)
> >
> > +#ifdef __cplusplus
> > +}
> > +#endif
> > +
> >  #endif /* _LTTNG_UST_TRACEF_H */
> >
> > But since I've noticed in the history that this whole C guard has been
> > reworked several times lately, I have no idea whether this is a good idea
> > or
> > not.
> > Don't know if this has any relevance or anything, but both lttng-ust (along
> > with its dependencies) and my test application are being cross-compiled.
> >
> > Hints?
> >
> 
> Indeed, that file seems to be missing guards. Your best bet would be
> to submit a patch or open a bug against lttng-ust on bugs.lttng.org.

Fix pushed into master, please confirm that it fixes your issue:

commit 866f2767f671ffbbff2c0511964f5a9a66358184
Author: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>
Date:   Tue May 13 09:34:03 2014 -0400

    Fix: tracef.h: add missing c++ guard
    
    Signed-off-by: Mathieu Desnoyers <mathieu.desnoyers at efficios.com>

Thanks,

Mathieu


> 
> Thanks,
> Jérémie
> 
> > Thank you,
> > Gerlando
> >
> > _______________________________________________
> > lttng-dev mailing list
> > lttng-dev at lists.lttng.org
> > http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 
> 
> 
> --
> Jérémie Galarneau
> EfficiOS Inc.
> http://www.efficios.com
> 
> _______________________________________________
> lttng-dev mailing list
> lttng-dev at lists.lttng.org
> http://lists.lttng.org/cgi-bin/mailman/listinfo/lttng-dev
> 

-- 
Mathieu Desnoyers
EfficiOS Inc.
http://www.efficios.com



More information about the lttng-dev mailing list