2016-05-02 6 views
0

Um die Protobuf-Bibliothek von Google zu meinem Qt-Projekt hinzuzufügen, habe ich die folgenden Schritte ausgeführt. Ich benutze Windows 10 und Qt 5.6 mit dem mingw32 Compiler.Hinzufügen von Googles Protokollpuffer zu Qt; Deaktivieren Compiler Warnungen

1 Installieren protobuf

Deshalb installierte ich MSYS mit mingw und cd zum protobuf-3.0.0-beta-2 Verzeichnis, in dem ich das Skript configure lief ./configure --prefix= 'cd /c/qt/Tools/mingw492_32/ ; pwd -W dafür, dass protobuf in dem Qt-Compiler Verzeichnis zu installieren. Danach lief ich make und make install.

2 Compile Projekt mit protobuf

Nun füge ich den Pfad INCLUDEPATH += C:/qt/tools/mingw492_32/include und den Bibliothekspfad LIBS += $$PWD/../protobuf-3.0.0-beta-2/src/libs/libprotobuf.a meiner Qt Projektdateien enthalten die Google protobuf zur Verfügung zu stellen.

Kompilieren meines Projekts funktioniert, aber ich erhalte eine Menge Warnungen, da die Protobuf-Bibliothek viele ungenutzte Parameter/Dummy-Funktionen hat. Gibt es eine Möglichkeit, die von der externen protobuf-Bibliothek erhaltenen Warnungen abzuändern?

Antwort

1

Sie müssen dem Compiler mitteilen, dass die Protobuf-Header Systemheader sind. Das Flag -I teilt dem Compiler mit, wo nach systemfremden Headern zu suchen ist, während -isystem Verzeichnisse mit Systemheadern angibt. Systemheader erzeugen keine Warnungen. Aber INCLUDEPATH verwendet -I.

Statt:

INCLUDEPATH += C:/qt/tools/mingw492_32/include 

Versuchen:

QMAKE_CXXFLAGS += -isystem C:/qt/tools/mingw492_32/include 
+0

funktioniert wie ein Zauber. Vielen Dank :) – SebNag

Verwandte Themen