|
From: Erik C. <co...@am...> - 2000-09-06 15:29:20
|
-------------------------- eGroups Sponsor -------------------------~-~> Thousands of Great Jobs, One Great Location! Austinatwork.com. Great Jobs, Great Life! http://click.egroups.com/1/7847/18/_/13107/_/968254115/ ---------------------------------------------------------------------_-> Hi I'm trying to link a program to _TrackMouseEvent which is described on http://msdn.microsoft.com/library/psdk/winui/mousinpt_0buc.htm It's not the same call as TrackMouseEvent, which is described on http://msdn.microsoft.com/library/psdk/winui/mousinpt_9gxg.htm _TrackMouseEvent is part of comctrl32.dll, which is in my link line. I checked with objdump --all-headers, and it appears that the function is present in my copy of the DLL. This command writes out symbol names without _ and @n but of course _TrackMouseEvent still has an underscore since it is part of the name proper. But when I try to link, I get an error with 'undefined reference to _TrackMouseEvent@4'. Am I using the right option to objdump? It was the only one I could get to tell me the symbols exported, but it doesn't give the @4 bit so I can't tell whether the parameter number is right. However I can see from .h files on a VC++ machine that it has 1 parameter, in fact it seems to have the same type as TrackMouseEvent. Here's how I try to call it: extern BOOL WINAPI _TrackMouseEvent(LPTRACKMOUSEEVENT x); BOOL betaTrackMouseEvent(void *x) { return _TrackMouseEvent(x); } Could it be that ld is stripping both of the _'s from the start? I checked my .obj file with objdump --syms and it reported __TrackMouseEvent@4 as one of the symbols as I would expect. Any ideas? I'm using the 2.95.2 release of course, on NT4, with SP5 AFAIK. -- Erik Corry er...@ar... Ceterum censeo, Microsoftem esse delendam! |