Hi, Putting extern will make that a declaration which is what you want in a header that is used several times, but you have to define it somewhere, usually in a file that is only used once like a .c file.
Cheers Lex 2009/9/12 Cédric Tabin <[email protected]>: > Hello, > > If I put 'extern' in ConfigUI.h, geany cannot load my plugin : > > Can't load plugin: /usr/local/lib/geany/pretty-print.so: undefined symbol: > prettyPrintingOptions > > Do I miss something somewhere ? > > Regards, > Cedric > > On Sat, Sep 12, 2009 at 10:04 AM, Eugene Arshinov <[email protected]> > wrote: >> >> Hi. >> >> Just declare prettyPrintingOptions as extern in ConfigUI.h: >> >> extern PrettyPrintingOptions* prettyPrintingOptions; >> >> The error is caused by -fno-common GCC option which is in my CFLAGS. >> Usually, in header files you should declare all variables as extern. >> >> Best regards, >> Eugene. >> >> On Sat, 12 Sep 2009 09:48:33 +0200 >> Cédric Tabin <[email protected]> wrote: >> >> > Hello, >> > >> > Strange... I tried again and again on my gentoo and it compiles well. >> > Does anyone have that kind of problem ? Maybe my headers are wrong (I >> > use the variable prettyPrinterOptions into PluginEntry.c that is >> > defined into ConfigUI.h). I a boss of C can just take a lool :-) >> > >> > Regards, >> > Cedric >> > >> > On Sat, Sep 12, 2009 at 8:54 AM, Eugene Arshinov >> > <[email protected]>wrote: >> > >> > > Hi all. >> > > >> > > I can't compile geany-plugins since r918 ("Pretty-print : Doctype >> > > supporte added, bugfix on cdata processing") with latest geany >> > > (r4176). >> > > >> > > I installed geany with >> > > >> > > $ make uninstall && make clean && ./autogen.sh && make && sudo make >> > > install >> > > >> > > and was trying to build geany-plugins >> > > >> > > $ aclocal && ./autogen.sh && make >> > > >> > > but it failed: >> > > >> > > ... >> > > libtool: link: gcc -shared .libs/pretty_print_la-PluginEntry.o >> > > .libs/pretty_print_la-PrettyPrinter.o .libs/pretty_print_la-ConfigUI.o >> > > -L/usr/local/lib /usr/lib/libgtk-x11-2.0.so >> > > /usr/lib/libgdk-x11-2.0.so/usr/lib/ >> > > libatk-1.0.so /usr/lib/libpangoft2-1.0.so >> > > /usr/lib/libgdk_pixbuf-2.0.so-lm /usr/lib/ >> > > libpangocairo-1.0.so /usr/lib/libgio-2.0.so /usr/lib/libcairo.so >> > > /usr/lib/ >> > > libpango-1.0.so /usr/lib/libfreetype.so -lz -lfontconfig /usr/lib/ >> > > libgobject-2.0.so /usr/lib/libgmodule-2.0.so >> > > /usr/lib/libglib-2.0.so/usr/lib/libxml2.so >> > > -march=pentium4 -Wl,-soname -Wl,pretty-print.so >> > > -o .libs/pretty-print.so .libs/pretty_print_la-ConfigUI.o:(.bss+0x0): >> > > multiple definition of `prettyPrintingOptions' >> > > .libs/pretty_print_la-PluginEntry.o:(.bss+0x0): first defined here >> > > ... >> > > >> > > Can anyone reproduce it? >> > > >> > > Best regards, >> > > Eugene. >> > > _______________________________________________ >> > > Geany-devel mailing list >> > > [email protected] >> > > http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel >> > > >> _______________________________________________ >> Geany-devel mailing list >> [email protected] >> http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel > > > _______________________________________________ > Geany-devel mailing list > [email protected] > http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel > > _______________________________________________ Geany-devel mailing list [email protected] http://lists.uvena.de/cgi-bin/mailman/listinfo/geany-devel
