On Oct 29 14:32, Hongliang Wang wrote: > > Hello all, > > My platform is WindowsXP+SP2, Cygwin DLL release version is 1.5.24-2 > > I am trying to make my program support large files, so in stdio.h I found > > 356 #ifdef __LARGE64_FILES > 357 #if !defined(__CYGWIN__) || defined(_COMPILING_NEWLIB) > > However, when I tried to compile with _COMPILING_NEWLIB, it fails
Never do that. It should only be set when compiling newlib itself. > $ gcc -Wall -D_COMPILING_NEWLIB test.c -o test > /cygdrive/c/DOCUME~1/wan/LOCALS~1/Temp/ccUmErSH.o:test.c:(.text+0x3a): > undefined > reference to `_fopen64' > collect2: ld returned 1 exit status > > It seems as if fopen64 is mapped to _fopen64, while the latter is missing. > > Could anybody tell me how to compile with _COMPILING_NEWLIB flag or how does > Cygwin support large files? Don't compile with _COMPILING_NEWLIB. 64 bit file access is the natural file access type for Cygwin. off_t is 8 bytes. There are no foo64 functions for that reason. Just use fopen and friends and you get 64 bit file access for free. Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Project Co-Leader cygwin AT cygwin DOT com Red Hat -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Problem reports: http://cygwin.com/problems.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/