Errors and questions on clutter gtk with mingw-w64



Hi all,

I have a very strange error when building clutter gtk with mingw-w64:

  CCLD     libclutter-gtk-1.0.la
libtool: link: warning: undefined symbols not allowed in i686-pc-mingw32 shared libraries

and no .dll is generated.

If I add "-no-undefined" to linker, no error is shown and the dll is generated.

I have several questions:

1. Why do I have this error?  Is this a bug in clutter gtk?

(2. By the way, I had to do that to fix a compile error:
sed -i -e 's#<clutter/clutter-win32.h>#<clutter/win32/clutter-win32.h>#g' $(CLUTTERGTK_DIR)/clutter-gtk/gtk-clutter-actor.c)

3. Why with -no-undefined the dll *is* generated and nothing is reported? As I read from Internet and ld man page:
--no-undefined
-z defs
Report unresolved symbol references from regular object files. This is done even if the linker is creating a non-symbolic shared library. The switch --[no-]allow-shlib-undefined controls the behaviour for reporting unresolved references found in shared libraries being linked in. So that flag should have reported the unresolved symbols and not fix anything!

4. Why the flag is -no... and not --no...? I do not see anywhere -no..., but only --no... If I use --no... I still have the link error, as if the flag were not taken into account.

Best regards,
--
Eugen


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]