Please ignore reply, gmail didn't update the conversation so I didn't know Eugene had supplied a perfectly good answer :-)
Cheers Lex 2009/9/12 Lex Trotman <[email protected]>: > 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
