2016-07-13 5 views
0

Ich versuche, Google Protobuf 2.6 in QT 5.7 (clang 7.0) mit QT Creator 4.0.3 auf OSX ohne viel Glück zu verwenden.QT 5.7 - google/protobuf Datei nicht gefunden - include PATH Fehler

Die .pro-Datei hat

LIBS += `pkg-config --cflags -- libs protobuf` 

die protobuf Bibliothek aufzunehmen.

In der Header-Datei ich meine proto-Datei generiert unter Verwendung enthält die Zeile

#include <google/protobuf/stubs/common.h> 

diese

error: 'google/protobuf/stubs/common.h' file not found 

Das protobuf Paket von QT mit dem LIBS + = Befehl gefunden wird, einen Compiler-Fehler von

erzeugt in der Profildatei und ich habe die nicht gefundenen Header-Dateien in

und

/usr/local/include/google/protobuf/stubs/common.h 

Ich installierte Protobuf mit Macports.

Die Header-Datei Autocompletes so QT weiß, wo es ist, so bin ich mir nicht sicher, wie man mit der Datei nicht gefunden Fehler.

Jede Hilfe sehr geschätzt.

Danke, a.

edit:

denke ich, das Problem/usr/local/nicht enthalten wird, ist qt Weg, so kann ich das protobuf Paket finden, aber keine der Header-Dateien (auch wenn es autocompletes?). Wie füge ich zu PATH in QT mit el capitain hinzu?

bearbeiten 2: Projektdatei

#------------------------------------------------- 
# 
# Project created by QtCreator 2016-07-13T12:13:47 
# 
#------------------------------------------------- 

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = testexample 
TEMPLATE = app 

SOURCES += main.cpp\ 
     mainwindow.cpp \ 
    ../../../protobuf/message.pb.cc 

QT_CONFIG -= no-pkg-config 

HEADERS += mainwindow.h \ 
    ../../../protobuf/message.pb.h 

FORMS += mainwindow.ui 

RESOURCES += \ 
    resources.qrc 

LIBS += `pkg-config --cflags -- libs protobuf` 

Antwort

1

Mit Protobuf 2.4 mit Qt 5.7 in Windows/Linux/Mac. Downloaden und kompilieren Sie Protobuf 2.4 mit dem Compiler, den Sie verwenden, (ich verwende MSVC/MinGW unter Windows, gcc unter Linux, clan unter Mac OS). Und bearbeiten Sie Ihre .pro-Datei. Meine .pro-Konfiguration mit dieser Schritte:

Legen Sie die kompilierte Bibliothek für Debug/Release-Modus:

#For Windows 
    win32 { 
     CONFIG(debug, release|debug) { 
      win32:LIBS += -llibprotobuf-debug 
     } else { 
      win32:LIBS += -llibprotobuf 
     } 
    } 
    #For linux 
    !win32:LIBS += -lprotobuf 

Fügen Sie den Pfad mit allen protobuf Quellcode:

win32:INCLUDEPATH += "..\\...\\directoty_protobuf\\src" 

Seine Arbeit für mich in Ordnung .

Verwandte Themen