This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
Re: BFD MinGW build error: implicit declaration of function 'wcsncasecmp'
- From: asmwarrior <asmwarrior at gmail dot com>
- To: Pedro Alves <palves at redhat dot com>
- Cc: GDB Development <gdb at sourceware dot org>, Binutils Development <binutils at sourceware dot org>
- Date: Wed, 18 Dec 2013 20:48:41 +0800
- Subject: Re: BFD MinGW build error: implicit declaration of function 'wcsncasecmp'
- Authentication-results: sourceware.org; auth=none
- References: <52B17083 dot 7040404 at gmail dot com> <52B1738D dot 4010409 at redhat dot com>
On 2013-12-18 18:06, Pedro Alves wrote:
> Hi there,
>
> Adding the binutils folks. (bfd is maintained by binutils.)
>
> Looks like fallout from the .rsrc merge support.
>
> On 12/18/2013 09:53 AM, asmwarrior wrote:
>> I see the build error when I build GDB(git head) under MSYS+MinGW, here the is build log
>>
>> mv -f .deps/pe-i386.Tpo .deps/pe-i386.Plo
>> rm -f peigen.c
>> sed -e s/XX/pe/g < ../../binutils-gdb/bfd/peXXigen.c > peigen.new
>> mv -f peigen.new peigen.c
>> /bin/sh ./libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../../binutils-gdb/bfd -D__USE_MINGW_FSEEK -I. -I../../binutils-gdb/bfd -I../../binutils-gdb/bfd/../include -DHAVE_i386pe_vec -DHAVE_i386pei_vec -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR='"/mingw/bin"' -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wno-format -Werror -O0 -g -D__USE_MINGW_ACCESS -MT peigen.lo -MD -MP -MF .deps/peigen.Tpo -c -o peigen.lo peigen.c
>> libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../../binutils-gdb/bfd -D__USE_MINGW_FSEEK -I. -I../../binutils-gdb/bfd -I../../binutils-gdb/bfd/../include -DHAVE_i386pe_vec -DHAVE_i386pei_vec -DHAVE_bfd_elf32_i386_vec -DHAVE_bfd_elf32_little_generic_vec -DHAVE_bfd_elf32_big_generic_vec -DBINDIR=\"/mingw/bin\" -W -Wall -Wstrict-prototypes -Wmissing-prototypes -Wshadow -Wno-format -Werror -O0 -g -D__USE_MINGW_ACCESS -MT peigen.lo -MD -MP -MF .deps/peigen.Tpo -c peigen.c -o peigen.o
>> peigen.c: In function 'rsrc_cmp':
>> peigen.c:3006:7: error: implicit declaration of function 'wcsncasecmp' [-Werror=implicit-function-declaration]
>> res = wcsncasecmp (& awc, & bwc, 1);
>> ^
>> cc1.exe: all warnings being treated as errors
>> make[4]: *** [peigen.lo] Error 1
>> make[4]: Leaving directory `/f/build_gdb/mybuild/bfd'
>> make[3]: *** [all-recursive] Error 1
>> make[3]: Leaving directory `/f/build_gdb/mybuild/bfd'
>> make[2]: *** [all] Error 2
I think under Windows, there is a function: (in wchar.h under my MinGW-W64 toolchain)
_CRTIMP int __cdecl _wcsnicmp(const wchar_t *_Str1,const wchar_t *_Str2,size_t _MaxCount);
See:http://msdn.microsoft.com/en-us/library/chd90w8e.aspx
Thanks.
Yuanhui Zhang