[gst-devel] c++ patch

Brent Bradburn brentb at ridgerun.com
Wed Mar 7 03:12:23 CET 2001


Tim,

You error would seem to be consistent with using a version of gstcaps prior to 1.18.
Perhaps you have multiple versions existing on your system.  My first guess would be that you have an installed copy (probably
in /usr/local/include/gst/) which is different from the version that you just got from CVS.

I am keying off the following line:
/opt/gstreamer-cvs/include/gst/gstcaps.h:65: parse error before `typeid'

This matches the code from 1.17 which had a parameter named typeid on line 65.
In 1.18, this has been commented out and is now on line 69.

-Brent



Tim 'Tool-Man' Taylor wrote:

> Matt Howell wrote:
>  > tim -
>  >
>  > i believe brentb checked in fixes (tag RELEASE-0_1_1-DUCTTAPE)
>  > for these about 9 days ago.  (the version of your gstcaps.h should be
> 1.18.)
>  > you should have following snippet at the top of the file:
>
> I should have mentioned in my first post that I did a cvs update.
> Anyhow, just to be sure I wasn't fouling myself up with sticky tags, I did:
>
> $ cvs -z3 update -A
> $ cvs -z3 update -dP
>
> [snip]
>
> > typedef struct _GstCaps GstCaps;
> > typedef gpointer GstCapsFactoryEntry;
> > #ifdef __cplusplus
> > typedef GstCapsFactoryEntry * GstCapsFactory;
> > #else // C++ was unable to compile with this
> > typedef GstCapsFactoryEntry GstCapsFactory[];
> > #endif
>
> gstcaps.h is 1.18 and contains those lines.  Still, I get the same error.
> To eliminate as many factors as possible, I created this minimal C++
> program:
>
> #include <stream.h>
> extern "C" {
>     #include <stdlib.h>
>     #include <gst/gst.h>
> }
>
> class Foo {
>     public:
>         void main(int argc, char *argv[]);
> };
>
> void Foo::main(int argc, char *argv[]) {
>     cout << "Foo" << endl;
> }
>
> int main(int argc, char *argv[]) {
>     Foo *foo = new Foo();
>     foo->main(argc, argv);
> }
>
> Compiling Foo.cc with gcc 3.0 I get the same errors as before.  Compiling
> with gcc 2.91 (egcs-1.1.2) I get these errors:
>
> $ g++ -I/usr/include -I/usr/lib/glib/include -I/usr/X11R6/include
> -I/usr/include/gnome-xml -I/opt/gstreamer-cvs/include -D_REENTRANT
> -fPIC Foo.cc -o Foo
> /opt/gstreamer-cvs/include/gst/gstinfo.h: In function `gchar * _gst_debug_nameof_funcptr(void *)':
> In file included from /opt/gstreamer-cvs/include/gst/gst.h:29,
>                  from Foo.cc:6:
> /opt/gstreamer-cvs/include/gst/gstinfo.h:142: warning: ANSI C++ forbids implicit conversion from `void *' in initialization
> /opt/gstreamer-cvs/include/gst/gstcaps.h: At top level:
> In file included from /opt/gstreamer-cvs/include/gst/gstpad.h:39,
>                  from /opt/gstreamer-cvs/include/gst/gst.h:31,
>                  from Foo.cc:6:
> /opt/gstreamer-cvs/include/gst/gstcaps.h:65: parse error before `typeid'
>
> --
> Tim Taylor
> tim at tool-man.org
>
> _______________________________________________
> gstreamer-devel mailing list
> gstreamer-devel at lists.sourceforge.net
> http://lists.sourceforge.net/lists/listinfo/gstreamer-devel
-------------- next part --------------
A non-text attachment was scrubbed...
Name: brentb.vcf
Type: text/x-vcard
Size: 237 bytes
Desc: Card for Brent Bradburn
URL: <http://lists.freedesktop.org/archives/gstreamer-devel/attachments/20010306/35bcd8aa/attachment.vcf>


More information about the gstreamer-devel mailing list