使用 qmake 链接 .proto 文件
Posted
技术标签:
【中文标题】使用 qmake 链接 .proto 文件【英文标题】:linking a .proto file using qmake 【发布时间】:2010-06-26 16:08:39 【问题描述】:我有 4 个文件
message.proto udp.h udp.cpp main.cpp
message.proto 是一个 google 协议缓冲区文件。我正在尝试编写协议缓冲区并使用 UDP 发送和接收数据。 udp.h 和 udp.cpp 只是实现 UDP 的类。
我可以编写自己的 makefile 并为这个小例子做一些必要的事情。后来我需要将此代码集成到我的 QT 程序中。我正在使用 qmake -project, qmake 来生成 Makefile。我正在使用 Ubuntu 9.10
谁能告诉我我需要在 .pro 文件或 qmake 生成的 Makefile 中进行哪些更改以满足依赖关系。
【问题讨论】:
【参考方案1】:通常只需将各自的头文件和源文件添加到.pro文件中对应的HEADERS
和SOURCES
变量即可,即
SOURCES += udp.cpp message.pb.cc
HEADERS += udp.h message.pb.h
我隐含地假设 message.pb.cc 和 message.pb.h 是由protoc
(协议缓冲区编译器)生成的文件。如果您还希望生成的 makefile 为您运行 protoc
,您可以使用 system
函数 (http://doc.trolltech.com/4.6/qmake-function-reference.html#system-command) 来实现。
希望对你有帮助。
【讨论】:
这会在我运行命令 qmake -project 时自动出现在此之后,我运行 qmake 来获取 Makefile 在执行 makefile 时会出现大量错误。我猜 protoc 库没有被包括在内。有人能告诉我在哪里以及如何在 qmake 生成的 makefile 或 pro 文件中包含 protoc 库 您接受了这个作为您的答案,但正如您在 cmets 中所说,仍然存在链接器问题,您是如何处理的?以上是关于使用 qmake 链接 .proto 文件的主要内容,如果未能解决你的问题,请参考以下文章
从零开始学习音视频编程技术 开发环境搭建(Qt4.86手动设置环境,主要就是设置g++和qmake,比较透彻,附下载链接)