2016-11-07 71 views
0

正如标题所示,我想在Qt中编译一个简单的项目,它使用google protobuf3中生成的addressbook.pb.h/addressbook.pb.cc文件C++用户教程。这是我的.pro文件包括在Mac上的Qt项目protobuf3头文件

#------------------------------------------------- 
# 
# Project created by QtCreator 2016-11-07T10:33:12 
# 
#------------------------------------------------- 

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = prototest 
TEMPLATE = app 


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

HEADERS += mainwindow.h \ 
    ../protobuf/examples/addressbook.pb.h 

FORMS += mainwindow.ui 

INCLUDEPATH += /usr/local/Cellar/protobuf/3.1.0/include 

LIBS += /usr/local/Cellar/protobuf/3.1.0 

不幸的是,这将引发

:-1: error: can't map file, errno=22 file '/usr/local/Cellar/protobuf/3.1.0' for architecture x86_64 

我被困在这一点上。任何帮助将不胜感激。我已经能够使用Xcode8编译和运行完全相同的(地址簿。*)文件。

回答

0

解决它:添加以下到.pro文件

macx: LIBS += -L$$PWD/../../../usr/local/Cellar/protobuf/3.1.0/lib/ -lprotobuf.11 

INCLUDEPATH += $$PWD/../../../usr/local/Cellar/protobuf/3.1.0/include 
DEPENDPATH += $$PWD/../../../usr/local/Cellar/protobuf/3.1.0/include 

我要补充如何我来到这个答案。右键点击您的项目并选择“添加库 - >外部库”,选择您的平台,并输入您要添加的特定(非路径),以及您的包含路径(它给出的选项表明这样的选项)。 Qt将生成代码并自动将其添加到.pro文件中。