Details
-
Bug
-
Resolution: Cannot Reproduce
-
P2: Important
-
None
-
Some future release
-
None
-
Operating System: Windows 7 64-bit
Compiler suite: MinGW gcc 4.5.1
Configure flags: -debug-and-release -opensource
Qt version: Latest checked out from git repository 26/08/2010
Description
While trying to compile the latest version of Qt (as cloned from the git repository 26/08/2010), I hit the following compiler error:
g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -DQT_DLL -DQT_PLUGIN -DQT_GUI_LIB -DQT_CORE_LIB -DQT_HAVE_MMX -DQT_HAVE_SSE -DQT_HAVE_MMXEXT -DQT_HAVE_SSE2 -DQT_THREAD_SUPPORT -I"..\..\..\..\include\QtCore" -I"..\..\..\..\include\QtGui" -I"..\..\..\..\include" -I"..\..\..\gui\image" -I"..\..\..\..\include\ActiveQt" -I"tmp\moc\debug_shared" -I"..\..\..\..\mkspecs\win32-g++" -o tmp\obj\debug_shared\qjpeghandler.o ..\..\..\gui\image\qjpeghandler.cpp
..\..\..\gui\image\qjpeghandler.cpp:134:8: error: 'boolean' does not name a type
..\..\..\gui\image\qjpeghandler.cpp: In function 'void qt_skip_input_data(jpeg_decompress_struct*, long int)':
..\..\..\gui\image\qjpeghandler.cpp:172:46: error: 'qt_fill_input_buffer' was not declared in this scope
..\..\..\gui\image\qjpeghandler.cpp: In constructor 'my_jpeg_source_mgr::my_jpeg_source_mgr(QIODevice*)':
..\..\..\gui\image\qjpeghandler.cpp:202:42: error: 'qt_fill_input_buffer' was not declared in this scope
..\..\..\gui\image\qjpeghandler.cpp: At global scope:
..\..\..\gui\image\qjpeghandler.cpp:479:8: error: 'boolean' does not name a type
..\..\..\gui\image\qjpeghandler.cpp: In constructor 'my_jpeg_destination_mgr::my_jpeg_destination_mgr(QIODevice*)':
..\..\..\gui\image\qjpeghandler.cpp:514:49: error: 'qt_empty_output_buffer' was not declared in this scope
To work around the issue, I changed line 61 of src/gui/image/qjpeghandler.cpp from:
- if defined(_RPCNDR_H_) && !defined(boolean)
to: - if !defined(boolean)
It seems to be a platform-specific issue. If rpcndr.h is never #included and boolean has not yet been defined, it will never get defined so the file fails to compile.