libtool, automake and C++ library

classic Classic list List threaded Threaded
8 messages Options
Reply | Threaded
Open this post in threaded view
|

libtool, automake and C++ library

Miquel Àngel Farré
Good Morning,

Just asked on the irc channel and MikeS-tp tried to help (thanks!) .. this is the problem:

I am trying to build a C++ plugin, flags and libs are given correctly nevertheless It doesen't build because it is C++ code, I have arrived to this conclusion making a little test:

- Try to build gst-template/gst-plugin: ./autogen.sh && make : it works
- Change gstplugin.c to gstplugin.cpp edit Makefile.am with the new file extension
- autogen.sh && make result:

/bin/bash ../libtool --tag=CXX --tag=disable-static  --mode=compile g++ -DHAVE_CONFIG_H -I. -I..     -g -O2 -MT libgstplugin_la-gstplugin.lo -MD -MP -MF .deps/libgstplugin_la-gstplugin.Tpo -c -o libgstplugin_la-gstplugin.lo `test -f 'gstplugin.cpp' || echo './'`gstplugin.cpp
libtool: compile:  g++ -DHAVE_CONFIG_H -I. -I.. -g -O2 -MT libgstplugin_la-gstplugin.lo -MD -MP -MF .deps/libgstplugin_la-gstplugin.Tpo -c gstplugin.cpp  -fPIC -DPIC -o .libs/libgstplugin_la-gstplugin.o
gstplugin.cpp:63:21: error: gst/gst.h: No such file or directory
In file included from gstplugin.cpp:65:
gstplugin.h:65: error: expected constructor, destructor, or type conversion before 'typedef'
gstplugin.h:70: error: 'GstElement' does not name a type
gstplugin.h:72: error: ISO C++ forbids declaration of 'GstPad' with no type
gstplugin.h:72: error: expected ';' before '*' token
gstplugin.h:74: error: 'gboolean' does not name a type
 .  .  .

I have tryed to add params to libtool like --tag=CXX..

Anybody knows what and where params should I add?

Thanks a lot

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Sebastian Dröge-7
Am Samstag, den 12.09.2009, 11:15 +0200 schrieb Miquel Àngel Farré:
> [...]
> I have tryed to add params to libtool like --tag=CXX..
>
> Anybody knows what and where params should I add?

I don't know right now but you might want to take a look at the
soundtouch or modplug plugins in gst-plugins-bad. They're written in C++
too.

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Reece Dunn
In reply to this post by Miquel Àngel Farré
2009/9/12 Miquel Àngel Farré <[hidden email]>:

> Good Morning,
>
> Just asked on the irc channel and MikeS-tp tried to help (thanks!) .. this
> is the problem:
>
> I am trying to build a C++ plugin, flags and libs are given correctly
> nevertheless It doesen't build because it is C++ code, I have arrived to
> this conclusion making a little test:
>
> - Try to build gst-template/gst-plugin: ./autogen.sh && make : it works
> - Change gstplugin.c to gstplugin.cpp edit Makefile.am with the new file
> extension
> - autogen.sh && make result:
>
> gstplugin.cpp:63:21: error: gst/gst.h: No such file or directory

Have you set CXXFLAGS to contain the include path instead of CFLAGS?

- Reece

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Miquel Àngel Farré
Reece,

 Yes I did it, with the same problem, these are my flags:

libgstplugin_la_CFLAGS = $(GST_CXXFLAGS)
libgstplugin_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GSTCTRL_LIBS)
libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static

Nevertheless looking at the generated makefile there is nothing for GST_CXXFLAGS, should I add something to configure.ac?

Thanks




2009/9/12 Reece Dunn <[hidden email]>
2009/9/12 Miquel Àngel Farré <[hidden email]>:
> Good Morning,
>
> Just asked on the irc channel and MikeS-tp tried to help (thanks!) .. this
> is the problem:
>
> I am trying to build a C++ plugin, flags and libs are given correctly
> nevertheless It doesen't build because it is C++ code, I have arrived to
> this conclusion making a little test:
>
> - Try to build gst-template/gst-plugin: ./autogen.sh && make : it works
> - Change gstplugin.c to gstplugin.cpp edit Makefile.am with the new file
> extension
> - autogen.sh && make result:
>
> gstplugin.cpp:63:21: error: gst/gst.h: No such file or directory

Have you set CXXFLAGS to contain the include path instead of CFLAGS?

- Reece

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel


------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Sebastian Dröge
Am Samstag, den 12.09.2009, 11:30 +0200 schrieb Miquel Àngel Farré:

> Reece,
>
>  Yes I did it, with the same problem, these are my flags:
>
> libgstplugin_la_CFLAGS = $(GST_CXXFLAGS)
> libgstplugin_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GSTCTRL_LIBS)
> libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
> libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static
>
> Nevertheless looking at the generated makefile there is nothing for
> GST_CXXFLAGS, should I add something to configure.ac?
It should be the other way around:

libgstplugin_la_CXXFLAGS = $(GST_CFLAGS)

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Sebastian Dröge-7
In reply to this post by Miquel Àngel Farré
Am Samstag, den 12.09.2009, 11:30 +0200 schrieb Miquel Àngel Farré:

> Reece,
>
>  Yes I did it, with the same problem, these are my flags:
>
> libgstplugin_la_CFLAGS = $(GST_CXXFLAGS)
> libgstplugin_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GSTCTRL_LIBS)
> libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
> libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static
>
> Nevertheless looking at the generated makefile there is nothing for
> GST_CXXFLAGS, should I add something to configure.ac?
It should be the other way around:

libgstplugin_la_CXXFLAGS = $(GST_CFLAGS)

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel

signature.asc (205 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Miquel Àngel Farré
solved, thanks guys!!

2009/9/12 Sebastian Dröge <[hidden email]>
Am Samstag, den 12.09.2009, 11:30 +0200 schrieb Miquel Àngel Farré:
> Reece,
>
>  Yes I did it, with the same problem, these are my flags:
>
> libgstplugin_la_CFLAGS = $(GST_CXXFLAGS)
> libgstplugin_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GSTCTRL_LIBS)
> libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
> libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static
>
> Nevertheless looking at the generated makefile there is nothing for
> GST_CXXFLAGS, should I add something to configure.ac?

It should be the other way around:

libgstplugin_la_CXXFLAGS = $(GST_CFLAGS)

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel



------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel
Reply | Threaded
Open this post in threaded view
|

Re: libtool, automake and C++ library

Reece Dunn
In reply to this post by Miquel Àngel Farré
2009/9/12 Miquel Àngel Farré <[hidden email]>:
> Reece,
>
>  Yes I did it, with the same problem, these are my flags:
>
> libgstplugin_la_CFLAGS = $(GST_CXXFLAGS)

Try:
    libgstplugin_la_CXXFLAGS = $(GST_CFLAGS)

> libgstplugin_la_LIBADD = $(GST_LIBS) $(GST_BASE_LIBS) $(GSTCTRL_LIBS)
> libgstplugin_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
> libgstplugin_la_LIBTOOLFLAGS = --tag=disable-static
>
> Nevertheless looking at the generated makefile there is nothing for
> GST_CXXFLAGS, should I add something to configure.ac?

The CFLAGS variable is used for C sources, and CXXFLAGS for C++
sources. The libgstplugin_la_* variables apply to the libgstplugin.la
target.

You already have:
    PKG_CHECK_MODULES([GST], [...])
    AC_SUBST(GST_CFLAGS)
    AC_SUBST(GST_LIBS)
(as it works with the C sources) so you don't need to change anything there.

NOTE: Since the GStreamer library is a C library, it generates a
CFLAGS variable. The PKG_CHECK_MODULES prepends the first argument to
it with an _ at the end (GST in the above example). The
AC_SUBST(variable) searches for all occurrances of variable in the
source files for AC_CONFIG_FILES and replaces it with the content if
the variable.

- Reece

------------------------------------------------------------------------------
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day
trial. Simplify your report design, integration and deployment - and focus on
what you do best, core application coding. Discover what's new with
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
_______________________________________________
gstreamer-devel mailing list
[hidden email]
https://lists.sourceforge.net/lists/listinfo/gstreamer-devel