[ros-dev] __attribute__((weak)) - in mingw

Boaz Harrosh boaz at hishome.net
Mon Feb 14 00:57:23 CET 2005


Hi List
I'm finally on my ass trying to redo the ATL/MFC Job from a year ago. 
This time I decided to start on windows with MinGW than move the MinGW 
makefiles to be used with winegcc. It is a grate test for winegcc and 
the windows API in general.
Well it turns out to be a very big test for MinGW as well. The headers 
are in a very bad shape. I had to use Wine headers to be able to 
compile. but I'll leave all that to a later e-mail.

[Q] I'm (well ATL is) using  __attribute__((weak)) (translated from 
__declspec( selectany) ) for instantiation of members and variables in 
headers. I had no problem with it On GCC in Linux (gcc 3.2.2). On MinGW 
I get below warning. And needless to say that I get a Linker duplicate 
symbol Error. Any Ideas on how to overcome this. Is this a g++ only bug?

<g++ warning example>
H:\Dinosaur\OneSource\MinGWStudio\msvc\atl\include\atlhost.h:56: 
warning: weak
declaration of `UINT ATL::WM_ATLGETCONTROL' not supported
</g++ warrning example>

<linker error example>
H:\Dinosaur\OneSource\MinGWStudio\msvc\atl\include\atlwin.h: multiple 
definition of `ATL::WM_ATLGETCONTROL'
H:\Dinosaur\OneSource\MinGWStudio\Samples\AtlWB\Debug\aboutdlg.o(.bss+0x1c):H:\Dinosaur\OneSource\MinGWStudio\msvc\atl\include\atlwin.h: 
first defined here
</linker error example>


Please forgive me for sending it here and not to MinGW list. But I feel 
more at home here than there. ( :( )

Free Life
Boaz


More information about the Ros-dev mailing list