From: Eli Z. <el...@gn...> - 2012-10-20 08:10:08
|
> Date: Fri, 19 Oct 2012 22:35:56 -0300 > From: Cristiano Sumariva <sum...@gm...> > > gcc -D__MSVCRT_VERSION=0x0800 -Wall -Wmissing-prototypes -Wpointer-arith > -Wdeclaration-after-statement -Wendif-labels -Wmissing-format-attribute > -Wformat-security -fno-strict-aliasing -fwrapv -fexcess-precision=standard > zic.o ialloc.o scheck.o localtime.o -L../../src/port > -Wl,--allow-multiple-definition -Wl,--as-needed -lpgport -lintl -lz -lm > -lws2_32 -lshfolder -o zic.exe > g:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../libmingwex.a(dirent.o): > dirent.c:(.text+0x249): undefined reference to `__findnext' > g:/mingw/bin/../lib/gcc/mingw32/4.7.0/../../../libmingwex.a(dirent.o): > dirent.c:(.text+0x2a2): undefined reference to `__findfirst' > > I looked for symbols on the libraries msvcrt.a and msvcr100.a > > nm /mingw/lib/libmsvcrt.a | grep __findnext > 0000000 T __findnexti64 > 0000000 I __imp___findnexti64 > 0000000 T __findnext64 > 0000000 I __imp___findnext64 > 0000000 T __findnext > 0000000 I __imp___findnext > > nm /mingw/lib/libmsvcr100.a | grep __findnext > 0000000 T __findnext64i32 > 0000000 I __imp___findnext64i32 > 0000000 T __findnext64 > 0000000 I __imp___findnext64 > 0000000 T __findnext32i64 > 0000000 I __imp___findnext32i64 > 0000000 T __findnext32 > 0000000 I __imp___findnext32 > > Should be a missing preprocessor macro to translate the __findnext call to > __findnext32? Try adding it to some header that is included by all the code that calls _findfirst/_findnext. You should probably add the same for _findnext and a similar macro for 'struct _finddata'. These macros should be conditioned on __MSVCRT_VERSION__'s value. |