From: Jim T. <thr...@ya...> - 2005-12-28 14:47:07
|
I am trying to compile a c++ program. I received a bunch of errors related to the include files. I posted to a C++ group and they said the following: WINADVAPI is #defined by windows.h to __declspec(dllimport). I guess that gcc doesn't support this keyword, so it looks like you can't use windows.h with gcc without some special include files to fix the incompatibilities. Is there a workaround in mingw for this? Here are the errors from my attempt to compile. In file included from from AdsiAuth.cpp:3: c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:176: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:185: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:194: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:202: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:210: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:219: error: expected constructor, destructor, or type conversion before "void" c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:219: error: expected `,' or `;' before "void" c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:225: error: `WINADVAPI' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winefs.h:234: error: `WINADVAPI' does not name a type In file included from c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../.. /include/windows.h:198, from AdsiAuth.cpp:3: c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:32 :22: winsmcrd.h: No such file or directory In file included from c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../.. /include/windows.h:198, from AdsiAuth.cpp:3: c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:62 : error: `SCARD_IO_REQUEST' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:17 8: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:18 6: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:37 1: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:37 2: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:38 1: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:38 2: error: `LPCGUID' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:75 4: error: `LPCSCARD_IO_REQUEST' has not been declared c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:75 7: error: `LPSCARD_IO_REQUEST' has not been declared : error: expected `,' or `;' before "static" c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:86 6: error: `LPCGUID' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:88 2: error: `LPCGUID' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:99 8: error: `LPCGUID' does not name a type c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/winscard.h:10 23: error: `LPCGUID' does not name a type In file included from c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../.. /include/windows.h:214, from AdsiAuth.cpp:3: c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/stralign.h:92 : error: expected init-declarator before "static" c:/msys/1.0/mingw/bin/../lib/gcc/mingw32/3.4.2/../../../../include/stralign.h:92 : error: expected `,' or `;' before "static" --------------------------------- Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping |
From: Michael G. <mg...@te...> - 2005-12-28 15:35:13
|
> I am trying to compile a c++ program. > I received a bunch of errors related to the include files. =20 > I posted to a C++ group and they said the following: > =20 > WINADVAPI is #defined by windows.h to __declspec(dllimport).=20 > I guess that gcc doesn't support this keyword, so it looks like you=20 > can't use windows.h with gcc without some special include files to=20 > fix the incompatibilities. > =20 > Is there a workaround in mingw for this? MinGW's winbase.h is missing a proper #define for WINADVAPI. Adding something like the following to the beginning of winbase.h should get you started until there is a proper patch: Signed-off by Michael Gerdau (actually I mostly copied it from winbase.h) #ifndef WINADVAPI #ifdef __W32API_USE_DLLIMPORT__ #define WINADVAPI DECLSPEC_IMPORT #else #define WINADVAPI #endif #endif HTH, best, Michael =2D-=20 Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver |
From: Jim T. <thr...@ya...> - 2005-12-28 15:39:57
|
Thanks Michael. Michael Gerdau <mg...@te...> wrote: > I am trying to compile a c++ program. > I received a bunch of errors related to the include files. > I posted to a C++ group and they said the following: > > WINADVAPI is #defined by windows.h to __declspec(dllimport). > I guess that gcc doesn't support this keyword, so it looks like you > can't use windows.h with gcc without some special include files to > fix the incompatibilities. > > Is there a workaround in mingw for this? MinGW's winbase.h is missing a proper #define for WINADVAPI. Adding something like the following to the beginning of winbase.h should get you started until there is a proper patch: Signed-off by Michael Gerdau (actually I mostly copied it from winbase.h) #ifndef WINADVAPI #ifdef __W32API_USE_DLLIMPORT__ #define WINADVAPI DECLSPEC_IMPORT #else #define WINADVAPI #endif #endif HTH, best, Michael -- Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver --------------------------------- Yahoo! Shopping Find Great Deals on Holiday Gifts at Yahoo! Shopping |
From: Keith M. <kei...@to...> - 2006-01-03 13:14:25
|
Michael Gerdau wrote: > MinGW's winbase.h is missing a proper #define for WINADVAPI. > > Adding something like the following to the beginning of winbase.h > should get you started until there is a proper patch: > > [sample code snipped] Michael, Would you like to provide a suitable patch, with an accompanying ChangeLog entry please, and submit it via the patch tracker? Thanks, Keith. |
From: Michael G. <mg...@te...> - 2006-01-04 17:16:30
|
> Would you like to provide a suitable patch, with an accompanying > ChangeLog entry please, and submit it via the patch tracker? Created a patch and submitted it -- hopefully I got the format right (when doing this every couple of month I always reresearch the details as to how this should be done ;) Please drop me a note wether the patch is fine as submitted or tell me how I could improve and I will add an appropriate paragraph to the Wiki (thus hopefully reducing my work for any future patch :) Best, Michael =2D-=20 Vote against SPAM - see http://www.politik-digital.de/spam/ Michael Gerdau email: mg...@te... GPG-keys available on request or at public keyserver |
From: Danny S. <dan...@cl...> - 2006-01-04 22:57:12
|
Michael Gerdau wrote: > Created a patch and submitted it -- hopefully I got the format > right Thanks Michael, The patch is fine. Next time, please add a Changelog entry: 2006-01-05 Michael Gerdau <mg...@te...> * include/winbase.h (WINADVAPI): Define. Look at ChangeLog to see other examples of desired format. Note whitespace. Committed to winsup CVS. Danny |
From: Keith M. <kei...@to...> - 2006-01-05 14:54:13
|
Danny Smith wrote, quoting Michale Gerdau: > Thanks Michael, The patch is fine. Next time, please add a > Changelog entry: > > 2006-01-05 Michael Gerdau <mg...@te...> > > * include/winbase.h (WINADVAPI): Define. > > > Look at ChangeLog to see other examples of desired format. Note > whitespace. Isn't the preferred format basically as mandated by the GNU Coding Standards? The full specification may be found here: http://www.gnu.org/prep/standards/html_node/Change-Logs.html Regards, Keith. |