Thread overview
Missing definitions in commctrl.h
Mar 12, 2003
Gary
Mar 12, 2003
Nic Tiger
Mar 12, 2003
Gary
Mar 12, 2003
Nic Tiger
Mar 12, 2003
Gary
Mar 13, 2003
Christof Meerwald
Mar 18, 2003
Walter
Mar 14, 2003
Gary
March 12, 2003
The following definitions (plus others that I don't need just yet) are missing from the commctrl.h file:

typedef struct tagINITCOMMONCONTROLSEX {
 DWORD dwSize;
 DWORD dwICC;
} INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
#define ICC_WIN95_CLASSES 255
#define ICC_DATE_CLASSES 256
BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);

I put them in my own header temporarily and everything resolves OK except for the last one.

BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);

This one can't be resolved during link. I get the following message:

link win+GUI,,,gdi32+user32+kernel32,d:\GUI\dmc\win/RC:win/noi;
OPTLINK (R) for Win32  Release 7.50B1
Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved

GUI.obj(GUI)
 Error 42: Symbol Undefined
?InitCommonControlsEx@@YGHPAUtagINITCOMMONCONTROLSEX
@@@Z (int stdcall InitCommonControlsEx(tagINITCOMMONCONTROLSEX *))

--- errorlevel 1

Can you help, please.

Thanks.

Gary


March 12, 2003
Try enclose function prototype with extern "C" { }.
(note the mangling of function name in linker output)

Nic Tiger.

"Gary" <gedumer@bcpl.net> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:b4o4vj$28u3$1@digitaldaemon.com...
> The following definitions (plus others that I don't need just yet) are missing from the commctrl.h file:
>
> typedef struct tagINITCOMMONCONTROLSEX {
>  DWORD dwSize;
>  DWORD dwICC;
> } INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
> #define ICC_WIN95_CLASSES 255
> #define ICC_DATE_CLASSES 256
> BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
>
> I put them in my own header temporarily and everything resolves OK except for the last one.
>
> BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
>
> This one can't be resolved during link. I get the following message:
>
> link win+GUI,,,gdi32+user32+kernel32,d:\GUI\dmc\win/RC:win/noi;
> OPTLINK (R) for Win32  Release 7.50B1
> Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
>
> GUI.obj(GUI)
>  Error 42: Symbol Undefined
> ?InitCommonControlsEx@@YGHPAUtagINITCOMMONCONTROLSEX
> @@@Z (int stdcall InitCommonControlsEx(tagINITCOMMONCONTROLSEX *))
>
> --- errorlevel 1
>
> Can you help, please.
>
> Thanks.
>
> Gary
>
>


March 12, 2003
Now I get...

GUI.obj(GUI)
 Error 42: Symbol Undefined _InitCommonControlsEx@4

Is there something else I can do?

Gary

"Nic Tiger" <nictiger@progtech.ru> wrote in message news:b4o5js$29h1$1@digitaldaemon.com...
> Try enclose function prototype with extern "C" { }.
> (note the mangling of function name in linker output)
>
> Nic Tiger.
>


March 12, 2003
You can now try to find where (what DLL) this function resides and then create .def file for it and create import library via implib.exe.

Read DMC online help to learn more about .def files an implib.

Nic Tiger.

"Gary" <gedumer@bcpl.net> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:b4o68f$2a2b$1@digitaldaemon.com...
> Now I get...
>
> GUI.obj(GUI)
>  Error 42: Symbol Undefined _InitCommonControlsEx@4
>
> Is there something else I can do?
>
> Gary
>
> "Nic Tiger" <nictiger@progtech.ru> wrote in message news:b4o5js$29h1$1@digitaldaemon.com...
> > Try enclose function prototype with extern "C" { }.
> > (note the mangling of function name in linker output)
> >
> > Nic Tiger.
> >
>
>


March 12, 2003
Actually, this should be addressed by Walter Bright, since this is all part of the win32api support that the compiler system should provide. Obviously, this is something that slipped through the cracks. Hopefully, Walter will read this and respond. Thanks for your suggestions though,

Gary.

"Nic Tiger" <nictiger@progtech.ru> wrote in message news:b4o6tc$2al2$1@digitaldaemon.com...
> You can now try to find where (what DLL) this function resides and then create .def file for it and create import library via implib.exe.
>
> Read DMC online help to learn more about .def files an implib.
>
> Nic Tiger.
>
> "Gary" <gedumer@bcpl.net> ÓÏÏÂÝÉÌ/ÓÏÏÂÝÉÌÁ × ÎÏ×ÏÓÔÑÈ ÓÌÅÄÕÀÝÅÅ: news:b4o68f$2a2b$1@digitaldaemon.com...
> > Now I get...
> >
> > GUI.obj(GUI)
> >  Error 42: Symbol Undefined _InitCommonControlsEx@4
> >
> > Is there something else I can do?
> >
> > Gary
> >
> > "Nic Tiger" <nictiger@progtech.ru> wrote in message news:b4o5js$29h1$1@digitaldaemon.com...
> > > Try enclose function prototype with extern "C" { }.
> > > (note the mangling of function name in linker output)
> > >
> > > Nic Tiger.
> > >
> >
> >
>
>


March 13, 2003
On Wed, 12 Mar 2003 18:13:32 -0500, Gary wrote:
> Actually, this should be addressed by Walter Bright, since this is all part of the win32api support that the compiler system should provide. Obviously,

In the meantime you could have a look at http://cmeerw.org/prog/dm/ms_sdk.html on how to use the latest Platform SDK with DMC++.


bye, Christof

-- 
http://cmeerw.org                                 JID: cmeerw@jabber.at mailto cmeerw at web.de

...and what have you contributed to the Net?
March 14, 2003
Thanks to all who replied... I simply failed to link the comctl32.lib file. Works great now.

Gary

"Gary" <gedumer@bcpl.net> wrote in message news:b4o4vj$28u3$1@digitaldaemon.com...
> The following definitions (plus others that I don't need just yet) are missing from the commctrl.h file:
>
> typedef struct tagINITCOMMONCONTROLSEX {
>  DWORD dwSize;
>  DWORD dwICC;
> } INITCOMMONCONTROLSEX,*LPINITCOMMONCONTROLSEX;
> #define ICC_WIN95_CLASSES 255
> #define ICC_DATE_CLASSES 256
> BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
>
> I put them in my own header temporarily and everything resolves OK except for the last one.
>
> BOOL WINAPI InitCommonControlsEx(LPINITCOMMONCONTROLSEX);
>
> This one can't be resolved during link. I get the following message:
>
> link win+GUI,,,gdi32+user32+kernel32,d:\GUI\dmc\win/RC:win/noi;
> OPTLINK (R) for Win32  Release 7.50B1
> Copyright (C) Digital Mars 1989 - 2001  All Rights Reserved
>
> GUI.obj(GUI)
>  Error 42: Symbol Undefined
> ?InitCommonControlsEx@@YGHPAUtagINITCOMMONCONTROLSEX
> @@@Z (int stdcall InitCommonControlsEx(tagINITCOMMONCONTROLSEX *))
>
> --- errorlevel 1
>
> Can you help, please.
>
> Thanks.
>
> Gary
>
>


March 18, 2003
That symbol is in \dm\lib\comctl32.lib. Need to add it to the list of libraries presented to the linker.

"Gary" <gedumer@bcpl.net> wrote in message news:b4o68f$2a2b$1@digitaldaemon.com...
> Now I get...
>
> GUI.obj(GUI)
>  Error 42: Symbol Undefined _InitCommonControlsEx@4
>
> Is there something else I can do?
>
> Gary
>
> "Nic Tiger" <nictiger@progtech.ru> wrote in message news:b4o5js$29h1$1@digitaldaemon.com...
> > Try enclose function prototype with extern "C" { }.
> > (note the mangling of function name in linker output)
> >
> > Nic Tiger.
> >
>
>