一、下载源码
protobuf: 同步 https://github.com/protocolbuffers/protobuf (gitee.com)
下载如v3.11.2 版本
二、下载CMake
三、编译
1、在1处选择源码目录下的cmake 目录;在2处选择一处空目录(自己随便建)
2、点击config,选择编译器、和平台、点完成
3、配置第一次可能失败、可以把下面勾选的只保留MSVC_STATIC_RUNTIME,
4 、再次config ,然后generate,,
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
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
}
}