Qt6 Protobuf 中的 CMake 命令

您应该在项目中调用以下 CMake 命令以使用 Qt6::Protobuf 模块:

find_package(Qt6 REQUIRED COMPONENTS Protobuf)

target_link_libraries(mytarget PRIVATE Qt6::Protobuf)

您可以使用 qt_add_protobuf CMake 命令隐式调用您的项目的 Qt Protobuf 代码生成。

使用 qt_add_protobuf

cmake_minimum_required(VERSION 3.16...3.22)
project(MyThings)

find_package(Qt6 REQUIRED COMPONENTS Protobuf)
qt_standard_project_setup()

qt_add_protobuf(MyMessages
    GENERATE_PACKAGE_SUBFOLDERS
    PROTO_FILES
        path/to/message.proto
        path/to/other_message.proto
    PROTO_INCLUDES
        /path/to/proto/include
)

qt_add_executable(MyApp main.cpp)

target_link_libraries(MyApp PRIVATE MyMessages)

在上述示例中,我们生成了一个名为 MyMessages 的库,其中包含通过 PROTO_FILES 选项传递给路径中定义的消息类型。使用 GENERATE_PACKAGE_SUBFOLDERS 选项生成生成文件的文件夹结构。并且 PROTO_INCLUDES 选项告诉 protoc 在指定的目录中查找依赖或导入。我们创建了一个名为 MyApp 的可执行目标,并将其链接到 MyMessages 库。

参见CMake 命令参考

qt_add_protobuf

使用 protobuf 架构生成基于 Qt 的 C++ 源代码

© 2024 Qt 公司 Ltd. 以下文档贡献的版权属于各自的拥有者。此处提供的文档根据自由软件基金会发布的 GNU自由文档许可证版本 1.3 的条款获得许可。Qt 和相应的标志是芬兰以及/或全球其他国家的 Qt 公司有限公司的 商标。所有其他商标均为其各自所有者的财产。