本文主要是介绍全平台编译 protobuf,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
编译 protobuf
- 准备工作
- (vs2015) 编译 protobuf
- (ubuntu) 编译 protobuf
- 使用 protobuf
准备工作
GitHub:下载地址:https://github.com/google/protobuf
下载protobuf 3.6.1:https://github.com/protocolbuffers/protobuf/releases/tag/v3.6.1
解压到英文目录下
解压到英文目录下
解压到英文目录下
(vs2015) 编译 protobuf
下载 cmake:https://cmake.org 我用的是 https://cmake.org/files/v3.11/cmake-3.11.0-rc2-win64-x64.msi
用vs2015打开 D:/CmakeApps/protobuf-cpp-3.6.1/protobuf-3.6.1/release/x642015中的 protobuf.sln
目录中就是生成的库
注意:如果需要使用静态库,则在使用cmake编译生产工程时需要注意
否则会提示MD(动态库) 与MT(静态库)不匹配
(ubuntu) 编译 protobuf
无论你是 gcc/clang/arm/aarch64 都可以用下面的方式
#在protobuf源码目录下打开终端,把gcc/g++交叉编译工具路径加入到环境变量
$export CC=<编译器绝对路径>
#例如:$export CC=/usr/bin/aarch64-linux-gnu-gcc$export CXX=<编译器绝对路径>
#例如:$export CXX=/usr/bin/aarch64-linux-gnu-g++$./configure --host=aarch64-linux --prefix=/home/hu/hu/aarch64-imxq-qt5.12.8/protobuf-cpp-3.6.1/bin
$make -j4
#$make check #检查
$make install #安装到--prefix=路径下
####安装到指定路径
#$make DESTDIR=<安装路径> install
#例如:$make DESTDIR=/home/hu/hu/aarch64-imxq-qt5.12.8/protobuf-cpp-3.6.1/bin install
如果出现 can not be used with making a shared object; recompile with -fPIC
则命令行调整为
$CFLAGS="-O3 -fPIC" ./configure
使用 protobuf
protobuf 使用请参考:https://blog.csdn.net/u012020854/article/details/54890507
这篇关于全平台编译 protobuf的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!