Windows7下编译Android版protobuf-3.13.0

本文介绍在Windows 7环境下,如何从源码编译最新版本的Protobuf以适配Android开发。主要内容包括安装所需工具、配置环境变量、设置CMake参数及构建过程等。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

最近做一个C/S,多端连服务器。公司又死板,还在用Win7,好在整个系统我一个人设计,我决定在被跨系统通信逼疯前使用最新版protobuff!

只可惜出师未捷,一开始就卡在Android版protobuff上了。败毒一堆文章无效,最后还是在360上找到两篇靠谱点的。

参考文章:

https://blog.youkuaiyun.com/weixin_28927079/article/details/107039924

https://bbs.youkuaiyun.com/topics/392257691?page=1

具体步骤如下:

1.下载protobuff-3.13.0的代码,解压。

2.安装Android Studio,并安装CMake

并将其路径写入PATH。

3.在protobuff-3.13.0目录下建立cmakebuild\armeabi-v7a\sharedSTL\Debug目录,进入该目录,打开一个CMD窗口,输入以下:

SET ndk_root=C:/AndroidSDK/ndk/21.3.6528147
SET gernerator="Ninja"

cmake -Dprotobuf_BUILD_SHARED_LIBS=OFF  -DCMAKE_VERBOSE_MAKEFILE=ON -Dprotobuf_BUILD_TESTS=OFF -Dprotobuf_BUILD_EXAMPLES=ON -DCMAKE_TOOLCHAIN_FILE=%ndk_root%/build/cmake/android.toolchain.cmake -DCMAKE_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=lib/armeabi-v7a/Debug -DANDROID_NDK=%ndk_root% -DANDROID_TOOLCHAIN=clang -DANDROID_ABI=armeabi-v7a -DANDROID_NATIVE_API_LEVEL=21 -DANDROID_STL=c++_shared -DANDROID_LINKER_FLAGS="-landroid -llog" -DANDROID_CPP_FEATURES="rtti exceptions" -DCMAKE_GENERATOR=%gernerator% ../../../../cmake

这一步执行成功后,执行

cmake --build . --target libprotobuf
cmake --build . --target libprotobuf-lite

生成相应的库。

 

注意:

1.protobuf_BUILD_STATIC_LIBS已废。

2.Linux下,使用


export ndk_root=<...>
-DCMAKE_TOOLCHAIN_FILE=$ndk_root/build/cmake/android.toolchain.cmake

这样的格式。

另Linux下可能不是找Visual Studio,所以应该没有Nvidia错误,可能不需要设置ninja。(未实际测试)

 

 

===================华丽的分割线=====================

 

或者做成这样

不要异想天开同一个库不同的名,那样的话其它ABI也会去找对应的库。您context估计没用,会自动skip不匹配的库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值