“libshaderc.a“ needed by “libbn-vulkan-lib.so“, missing and no known rule to make it

编译带Vulkan的项目出现如下错误:

Build command failed.
Error while executing process F:\Android\sdk\cmake\3.10.2.4988404\bin\ninja.exe with arguments {-C E:\code\android\Sample1_1\app\.cxx\cmake\debug\armeabi-v7a bn-vulkan-lib}
ninja: Entering directory `E:\code\android\Sample1_1\app\.cxx\cmake\debug\armeabi-v7a'

ninja: error: 'F:/Android/sdk/ndk/21.1.6352462/sources/third_party/shaderc/libs/c++_static/armeabi-v7a/libshaderc.a', needed by '../../../../build/intermediates/cmake/debug/obj/armeabi-v7a/libbn-vulkan-lib.so', missing and no known rule to make it

转到 <ndk-root>/sources/third_party/shaderc/ 并执行以下命令:

..\..\..\ndk-build NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk APP_ABI=all APP_PLATFORM=android-24 APP_STL=c++_static -j8 clean libshaderc_combined

但是却弹出了如下错误:

Traceback (most recent call last):
  File "third_party/spirv-tools/utils/update_build_version.py", line 32, in <module>
    import datetime
ImportError: No module named datetime
make: *** [third_party/spirv-tools/Android.mk:322: F:/Android/sdk/ndk/21.1.6352462/sources/third_party/shaderc/obj/local/arm64-v8a/build-version.inc] Error 1
make: *** Waiting for unfinished jobs....
Traceback (most recent call last):
  File "third_party/spirv-tools/utils/update_build_version.py", line 32, in <module>
    import datetime
ImportError: No module named datetime
make: *** [third_party/spirv-tools/Android.mk:322: F:/Android/sdk/ndk/21.1.6352462/sources/third_party/shaderc/obj/local/x86_64/build-version.inc] Error 1

查询发现:
21.1.6352462 自带的Python版本没有携带datetime包
其中Python位于<NDK_ROOT>\prebuilt\windows-x86_64\lib\python2.7
Github上也找到相应问题的Issue:
[BUG] windows python prebuilt no longer has datetime module, breaking shaderc · Issue #1291 · android/ndk · GitHub
https://github.com/android/ndk/issues/1291

下载最新22.0.7026061版本解决问题。修改local.properties文件,把ndk.dir目录指向刚刚下好的22版本即可:

ndk.dir=F\:\\Android\\sdk\\ndk\\22.0.7026061

重新编译。最后成功了!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值