http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39465
Kai Tietz <ktietz at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |ktietz at gcc dot gnu.org --- Comment #16 from Kai Tietz <ktietz at gcc dot gnu.org> 2010-10-29 14:12:26 UTC --- (In reply to comment #15) > After looking some more at the code, I might have an idea what's causing the > issue: > __objc_gnu_init calls __objc_exec_class on _OBJC_MODULES. Is it possible that > this call is not made for some reason if you link your lib as a dll? That > would > mean the classes are never loaded into the runtime. I did recently some bugfix for libobjc (shared) for the version in gcc's source tree. Issue was that the DLL generation was pretty broken in different ways, which lead then to the issue that no function was exported by it. This should be fixed on 4.6 version and initial tests are showing it works for me now. But in general it is wise to use - if building shared libraries for win32 targets - to use instead of the dllexport/dllimport mechanism the linker option --export-all-symbols. The issue for obj-c is, that class can't have dllimport/dllexport attributes, which cause then that their names can't be found. I hope it helps, Kai