Fehler beim Kompilieren von sqlite im qmake-Projekt - c ++, qt, sqlite3, qmake

Vor langer Zeit habe ich die Datei sqlite3.c zu meinem qmake-Projekt hinzugefügt und dieses Projekt über Monate mit den 64-Bit-Compilern msvc-2013 und gcc-5.2 erfolgreich kompiliert.

Aber wenn ich dieses Projekt kürzlich neu kompilieren wollte, kompiliert es alle Dateien erfolgreich aber sqlite3.c Datei !!! und es gibt mir seltsame Fehlermeldungen:

cl -c -nologo -Zc: wchar_t -FS -Zc:strictStrings -Zi -MDd -W3 -w44456 -w44457 -w44458 /FddebugBuilder3d.pdb -DUNICODE -DWIN32 -DWIN64 -DVL_PLATFORM_WINDOWS = 1 -DVL_OPENGL = 1 -D_UNICODE = 1 -DNOMINMAX -D_USE_MATH_DEFINES -D_SCL_SECURE_NO_WARNINGS -DPROTOBUF_USE_DLLS -DB3D_DEBUG -DQT_GUI_LIB -DQT_SQL_LIB - DQT_WEBSOCKETS_LIB -DQT_NETWORK_LIB -DQT_CORE_LIB -I..Builder3d -I. -I..libsc3dv98099Win64_Visual_Studio_2013_UnicodeInclude -I..libs -I..libsprotobufcmakebuilddebuginclude -ID: Qt5.7msvc2015_64include -ID: Qt5.7msvc2015_64includeQtGui -ID: Qt5.7msvc2015_64includeQtANGLE -ID: Qt5.7msvc2015_64includeQtSql -ID: Qt5.7msvc2015_64includeQtWebSockets -ID: QT5. 7msvc2015_64includeQtNetwork-ID: Qt5.7msvc2015_64includeQtCore -Idebug-ID: Qt5.7msvc2015_64mkspecswin32-msvc2015 -Fobebug @C: UsersRemAppDataLocalTempsqlite3.obj.20112.0.jom sqlite3.c

D: Qt5.7msvc2015_64includeQtCore / qnamespace.h (53): Fehler C2143: Syntaxfehler: fehlende "{" vor "*"

D: Qt5.7msvc2015_64includeQtCore / qnamespace.h (68): Fehler C2061: Syntaxfehler: Bezeichner "Qt"

D: Qt5.7msvc2015_64includeQtCore / qnamespace.h (68): Fehler C2059: Syntaxfehler: ";"

D: Qt5.7msvc2015_64includeQtCore / qnamespace.h (68): Fehler C2449: gefunden "{" im Dateibereich (fehlende Funktion Header?)

Also, wenn sqlite3.c kompiliert wird, gibt es mir viele Fehler von qt Bibliotheken trotz der Tatsache sqlite3.c enthalten keine von ihnen !!!

PS: Die einzige Änderung in meiner Computerkonfiguration, die ich mir vorstellen kann, ist ein Update auf MSVC Compiler Toolchain nach der Installation von VS Update.

PPS: Mein Projekt wurde für die Verwendung von msvc2013 & Qt 5.5 konfiguriert. Nach dem Fehler habe ich versucht, msvc2015 & Qt 5.7 zu verwenden, aber das Problem bleibt bestehen.

Antworten:

1 für die Antwort № 1

Ich kann mir sicher sein, dass das "Überqueren" von Includes passiert ist.

Von dem, was Sie aufgelistet haben, passiert die Kompilierung von sqlite3.c mit einer Menge von "-Ipath_to_qt", so dass Include-Pfade zu qt-Header propagiert werden.

Dann enthält sqlite3.c beispielsweise config.h um Optionen zu lesen wie sqlite konfiguriert werden soll. Sicher gibt es eine andere config.h, die von irgendeinem qt include-Ordner kommt und diese config.h bringt Verweise / subincludes zu qt.