正如标题所示,我正在尝试在Qt中编译一个简单的项目,该项目利用了google protobuf3教程中为C ++用户生成的addressbook.pb.h / addressbook.pb.cc文件。这是我的.pro文件
#-------------------------------------------------
#
# 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编译和运行完全相同的(addressbook。*)文件。
答案 0 :(得分: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文件中。