2016-05-13 6 views
3

Das jetzt mich gekostet hat einige Zeit, so in case jemand anderes hat dieses Problem, hier ist es:C2061: Syntaxfehler: Bezeichner 'L' in qtypetraits.h

Ich habe ein C++ Projekt Visual Studio 2013 verwenden und mit dem CPP Rest SDK. Jetzt fangen wir an, Qt (Version 5.6) zu verwenden, also habe ich dem Code Qt-Objekte hinzugefügt.

Ich hielt diese Fehlermeldung erhalten:

C:\Qt\Qt5.6.0\5.6\msvc2013_64\include\QtCore/qtypetraits.h(523): warning C4003: not enough actual parameters for macro 'U' 
C:\Qt\Qt5.6.0\5.6\msvc2013_64\include\QtCore/qtypetraits.h(523): warning C4003: not enough actual parameters for macro '_XPLATSTR' 
C:\Qt\Qt5.6.0\5.6\msvc2013_64\include\QtCore/qtypetraits.h(523): error C2061: syntax error : identifier 'L' 
      C:\Qt\Qt5.6.0\5.6\msvc2013_64\include\QtCore/qtypetraits.h(527) : see reference to class template instantiation 'QtPrivate::is_default_constructible<T>' being compiled 

Antwort

6

Es ist nicht Schuld des Qt. Es ist das CPP Rest SDK. Es defines a macroU, die glücklich für einen U Vorlagenparameter in qtypeaits.h ersetzt wird.

Wenn ich in den C++ - Präprozessordefinitionen _TURN_OFF_PLATFORM_STRING definiere, verschwindet der Fehler.