kdelibs compile problem with vcexpress

Ralf Habacker ralf.habacker at freenet.de
Tue Aug 28 19:33:09 CEST 2007


Hi,

i encountered a compile problem with vcexpress++ 2005, qt4.3.1 and 
recent kdelibs in kdeui/xmlgui/ktoolbarhandler.cpp.

d:\programme\kdewin-msvc\include\qtcore\qlinkedlist.h(110) : error 
C2146: syntax error : missing ';' before identifier 'difference_type'
d:\programme\kdewin-msvc\include\qtcore\qlinkedlist.h(107) : see 
reference to class template instantiation 'QLinkedList<T>::iterator' 
being compiled
d:\programme\kdewin-msvc\include\qtcore\qlinkedlist.h(241) : see 
reference to class template instantiation 'QLinkedList<T>' being compiled
d:\programme\kdewin-msvc\include\qtcore\qlinkedlist.h(110) : error 
C4430: missing type specifier - int assumed. Note: C++ does not support 
default-int
d:\programme\kdewin-msvc\include\qtcore\qlinkedlist.h(110) : error 
C4430: missing type specifier - int assumed. Note: C++ does not support 
default-int

The problem is that there are problems with the definition of ptrdiff_t

The workaround i found was to prepend the following code before any 
header was included.


#if _MSC_VER == 1400
typedef int ptrdiff_t;
#define _PTRDIFF_T_DEFINED
#endif

#include "ktoolbarhandler.h"

It looks like a problem with some cryptic _W64 and __w64 definitions 
problems, but unfortunally it looks that msvc does not have an option 
likes gcc -save-temps to get the preprocessed output.

Does anyone have an idea how to solve this better ?

Ralf




More information about the Kde-windows mailing list