Hi Bram, 2018/5/21 Mon 1:30:53 UTC+9 Bram Moolenaar wrote: > I want to try debugging on MS-Windows with gdb. I normally build with > MSVC, but I don't see a way to use that executable with gdb (perhaps > it's possible with some compiler flag?). > > So I'll use MinGW for compiling. MinGW provides gcc and make, so I > expect this to work: > make -f Make_ming.mak GUI=no DEBUG=yes > > This gives an error in diff.c: > storage size of 'st' isn't known. > > Hmm. I can work around it by changing the condition in vim.h: > > /* Use 64-bit stat structure if available. */ > #if (defined(_MSC_VER) && (_MSC_VER >= 1300)) || defined(__MINGW32__) > # define HAVE_STAT64 > typedef struct _stat64 stat_T; > #else > typedef struct stat stat_T; > #endif > > So use "struct stat". I wonder why this change is needed. perhaps the > #ifdef is wrong? > > Then it compiles many files but fails when building iscygpty.c . > It complains that _WIN32_WINNT and WINVER differ. That's because the > build file has: > > $(OUTDIR)/iscygpty.o: iscygpty.c $(CUI_INCL) > $(CC) -c $(CFLAGS) iscygpty.c -o $(OUTDIR)/iscygpty.o -U_WIN32_WINNT > -D_WIN32_WINNT=0x0600 -DUSE_DYNFILEID -DENABLE_STUB_IMPL > > Overruling _WIN32_WINNT for one file seems like a bad idea, why was this > added? But building iscygpty.c with WINVER set to 0x0501 apparently > doesn't work. > > So instead I specify WINVER to be 0x0600. I wonder how it can ever work > without that. Perhaps we should make it the default?
For iscygpty.c, how about adding `-UWINVER -DWINVER=0x0600`? (Not tested.) iscygpty requires new Win32 APIs which were added in Windows Vista. For the other problem, I think your MinGW is too old. (The above problem should be caused by the same reason, though.) I highly recommend you to use MinGW-w64 instead of the original MinGW (which looks dead). There are some distributions which provide binary packages of MinGW-w64, and I think MSYS2 is the best. (https://www.msys2.org/) If we still need to support the original MinGW, we might need some modifications to the codes and makefiles. However, I can't help it, because I have already uninstalled the original MinGW. Regards, Ken Takata -- -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php --- You received this message because you are subscribed to the Google Groups "vim_dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to vim_dev+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.