Ho un'applicazione C Sto cercando di compilare per Mac OS X 10.6.4:Come abilitare il supporto di file di grandi dimensioni con Darwin?
$ uname -v
Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386
mio gcc
è la seguente:
$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5664)
mio Makefile
è la seguente:
CC=gcc
CFLAGS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -O3 -Wformat -Wall -pedantic -std=gnu99
all: myApp
rm -rf *~
myApp: myApp.o
${CC} ${CFLAGS} myApp.o -lbz2 -o myApp
rm -rf *~
clean:
rm -rf *.o myApp
Il problema è che la mia applicazione effettua chiamate a fseeko64
e fopen64
e utilizza.tipo per offset. Quando compilo la mia applicazione ottengo i seguenti avvertimenti ed errori:
$ make myApp
gcc -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -O3 -Wformat -Wall -pedantic -std=gnu99 -c -o myApp.o myApp.c
myApp.c: In function ‘extractData’:
myApp.c:119: warning: implicit declaration of function ‘fseeko64’
myApp.c:119: error: ‘off64_t’ undeclared (first use in this function)
myApp.c:119: error: (Each undeclared identifier is reported only once
myApp.c:119: error: for each function it appears in.)
myApp.c: In function ‘extractMetadata’:
myApp.c:305: warning: implicit declaration of function ‘fopen64’
myApp.c:305: warning: assignment makes pointer from integer without a cast
Il mio codice si costruisce senza errori sotto Linux. Quali modifiche posso apportare al codice sorgente per aggiungere un supporto di file di grandi dimensioni quando si costruisce sotto Darwin?
Grazie, questo è stato perfetto. –
@AlexReynolds Non lo definirei perfetto, vedere la mia risposta. – aergistal