VS2022 编译protobuf , qt 使用

一、下载源码

        protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com)

        下载如v3.11.2 版本

二、下载CMake

三、编译

        1、在1处选择源码目录下的cmake 目录;在2处选择一处空目录(自己随便建)

VS2022 编译protobuf , qt 使用_第1张图片

        2、点击config,选择编译器、和平台、点完成VS2022 编译protobuf , qt 使用_第2张图片

        3、配置第一次可能失败、可以把下面勾选的只保留MSVC_STATIC_RUNTIME,VS2022 编译protobuf , qt 使用_第3张图片

 4 、再次config ,然后generate,,

VS2022 编译protobuf , qt 使用_第4张图片

5、在输出目录下会生成工程,

VS2022 编译protobuf , qt 使用_第5张图片

6、使用2022打开工程进行编译即可

注意:若需要在Qt+MSVC开发方式下,调用protobuf的lib,那么需要修改libprotobuf工程属性,然后再编译生成lib。

“配置属性”->“C/C++”->“代码生成”->运行库,Debug版选择“/MDd”,Release版选择“/MD”,“应用”->"确定"。

参考《QT MSVC版本使用protobuf库》:https://blog.csdn.net/f1jiaziqing2/article/details/86474311

VS2022 编译protobuf , qt 使用_第6张图片

7、qt 使用: pri 的代码

# all platforms
INCLUDEPATH += $$PWD
INCLUDEPATH += $$PWD/include
INCLUDEPATH += $$PWD/include/google
INCLUDEPATH += $$PWD/include/google/protobuf

greaterThan(QT_MAJOR_VERSION,4){
        TARGET_ARCH=$${QT_ARCH}
}else{
        TARGET_ARCH=$${QMAKE_HOST.arch}
}
contains(TARGET_ARCH, x86_64){
        message("64-bit")
        CONFIG(debug, debug|release){
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotobufd.lib
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotobuf-lited.lib
        LIBS += $$PWD/lib/vs2022_x64/debug/libprotocd.lib
        }else{
        LIBS += $$PWD/lib/vs2022_x64/release/libprotobuf.lib
        LIBS += $$PWD/lib/vs2022_x64/release/libprotobuf-lite.lib
        LIBS += $$PWD/lib/vs2022_x64/release/libprotoc.lib
        }
}else{
        message("32-bit")
        CONFIG(debug, debug|release){
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotobufd.lib
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotobuf-lited.lib
        LIBS += $$PWD/lib/vs2022_x86/debug/libprotocd.lib
        }else{
        LIBS += $$PWD/lib/vs2022_x86/release/libprotobuf.lib
        LIBS += $$PWD/lib/vs2022_x86/release/libprotobuf-lite.lib
        LIBS += $$PWD/lib/vs2022_x86/release/libprotoc.lib
        }
}

你可能感兴趣的:(qt,开发语言)