当前位置:   article > 正文

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

androideabi-qt

用.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
  • 1
  • 2

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

cmake --build . --target libprotobuf
cmake --build . --target libprotobuf-lite
  • 1
  • 2

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

win32: {
	DEFINES += PROTOBUF_USE_DLLS
	LIBS += \
		-L$$PWD/../lib/ -llibprotobuf	\
		-L$$PWD/../lib/ -llibprotobufd	\
}
android: {
	LIBS += $$PWD/../lib/libprotobuf.a
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/81821
推荐阅读
相关标签
  

闽ICP备14008679号