From: Danny S. <dan...@cl...> - 2002-10-11 02:01:58
|
----- Original Message ----- From: "Soren A" <sor...@fa...> To: <min...@li...> Sent: Friday, 11 October 2002 00:01 Subject: [Mingw-users] Re: _strncasecmp -- which library? > John J Lee <jj...@po...> wrote around 10 Oct 2002 > news:354...@as...: > > > Linking an MSVC 6 executable to a mingw-compiled library, I get a > > complaint about _strncasecmp and _strcasecmp. I'm already linking to > > libgcc.a -- what else should I be linking in? > > "strncasecmp" is defined in the standard mingw header <string.h>. So > it's in the C runtime (msvcrt.dll) that mingw is based on. AFAIK the > prepended underscore is a common M$ aliasing (mangling) scheme. No, its not in msvcrt.dll. Its a mingw 'klingon' for Posix compat, and lives in libmoldname.a One option may be to add libmoldname.a to your msvc command line. The other is: When building your code with gcc, add this after including<string.h> extern __inline__ int strcasecmp (const char * __sz1, const char * __sz2) {return _stricmp (__sz1, __sz2);} extern __inline__ int strncasecmp (const char * __sz1, const char * __sz2, size_t __sizeMaxCompare) {return _strnicmp (__sz1, __sz2, __sizeMaxCompare);} I have added the above to mingw's string.h to avoid this MS comptability problem in future (at last when code is built with optimization). Danny |