c++——qt项目中使用Android ndk编译 armeabi-v7可用的protobuf v3.12.3 静态库

20 篇文章 0 订阅

用.mk生成的静态库文件似乎很难其他标准std异常库(大概率是我操作不当),导致编译报114甚至514个错

经测试,使用ndkr19-c中的make工具编译生成的静态库不能被使用同版本ndk的qt程序链接,但是可被r21b版本ndk成功链接,所以我尝试的最后一个可用组合是r19c生成库+r21b编译apk,后续尝试全部使用r21b也能正常编译(看见某stderr和一堆exception爆红相关就反胃啊嗯)

先 执 行 下 面 的 b a s h 命 令 , 位 置 随 意 \color{red}{先执行下面的bash命令,位置随意} bash

cmake -G "MinGW Makefiles" \ -DCMAKE_TOOLCHAIN_FILE=这是你的NDK目录/build/cmake/android.toolchain.cmake \ -DCMAKE_MAKE_PROGRAM=这还是你的NDK目录/prebuilt/windows-x86_64/bin/make.exe \ -Dp
rotobuf_BUILD_TESTS=OFF \ 这是你的protobuf项目目录(src的上一层,项目根目录)/cmake

然 后 就 是 我 们 的 老 朋 友 语 句 \color{red}{然后就是我们的老朋友语句}

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

至于Qt的.pro,稍微放一下,win里我是用动态库链接的,android嫌麻烦就静态编完算了

win32: {
	DEFINES += PROTOBUF_USE_DLLS
	LIBS += \
		-L$$PWD/../lib/ -llibprotobuf	\
		-L$$PWD/../lib/ -llibprotobufd	\
}
android: {
	LIBS += $$PWD/../lib/libprotobuf.a
}
  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值