You should call the following CMake commands to use the Qt6::Protobuf module in your project:
find_package(Qt6 REQUIRED COMPONENTS Protobuf) target_link_libraries(mytarget PRIVATE Qt6::Protobuf)
可以使用 qt_add_protobuf CMake command to implicitly call Qt Protobuf code generation for your project.
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)
In the example above, we generate a library called
MyMessages
, which contains the message types defined in the paths passed to the
PROTO_FILES
选项。
GENERATE_PACKAGE_SUBFOLDERS
option to generate a folder structure for the generated files. And the
PROTO_INCLUDES
option tells protoc to look for dependencies or imports in the specified directories. We create a target for an executable called
MyApp
, which we link to the
MyMessages
库。
另请参阅 CMake 命令参考 .
| Generates Qt-based C++ source code using a protobuf schema |