2013-11-21 10 views
5

Ho provato a fare qt statico e ho avuto un errore durante il mingw-make. Questo è un testo di errore.La compilazione statica di Qt 5 fallisce sotto mingw con riferimento a off64_t

static\qhttpnetworkreply.o access\qhttpnetworkreply.cpp 
In file included from ..\..\mkspecs\win32-g++/qplatformdefs.h:56:0, 
      from access\qhttpnetworkreply_p.h:55, 
      from access\qhttpnetworkreply.cpp:42: 
c:\mingw\include\io.h:301:14: error: 'off64_t' does not name a type 
__CRT_INLINE off64_t lseek64 (int, off64_t, int); 
     ^
c:\mingw\include\io.h:302:14: error: 'off64_t' does not name a type 
__CRT_INLINE off64_t lseek64 (int fd, off64_t offset, int whence) { 
     ^
Makefile.Debug:8214: recipe for target '.obj/debug_static/qhttpnetworkreply.o' f ailed 
mingw32-make[3]: *** [.obj/debug_static/qhttpnetworkreply.o] Error 1 
mingw32-make[3]: Leaving directory 'C:/Qt/Qt5.1.1/5.1.1/Src/qtbase/src/network' 
Makefile:38: recipe for target 'debug-all' failed 
mingw32-make[2]: *** [debug-all] Error 2 
mingw32-make[2]: Leaving directory 'C:/Qt/Qt5.1.1/5.1.1/Src/qtbase/src/network' 
Makefile:182: recipe for target 'sub-network-make_first' failed 
mingw32-make[1]: *** [sub-network-make_first] Error 2 
mingw32-make[1]: Leaving directory 'C:/Qt/Qt5.1.1/5.1.1/Src/qtbase/src' 
Makefile:41: recipe for target 'sub-src-make_first' failed 
mingw32-make: *** [sub-src-make_first] Error 2 
C:\Qt\Qt5.1.1\5.1.1\Src\qtbase> 

Io uso Windows 8.1. Seguo i passaggi da una sola istruzione.

risposta

8

è un bug in MinGW, quando uno di -ansi, -std = C++ 11, -std = C++ 03 e -std = C++ 98 vengono utilizzati. nel file {MinGW dir} /include/io.h sostituire

__CRT_INLINE off64_t lseek64 (int, off64_t, int); 
__CRT_INLINE off64_t lseek64 (int fd, off64_t offset, int whence) { 

con

__CRT_INLINE _off64_t lseek64 (int, _off64_t, int); 
__CRT_INLINE _off64_t lseek64 (int fd, _off64_t offset, int whence) {