我正在尝试从google repo构建tutorial6,它应该会画一个有纹理的triagle。
https://github.com/googlesamples/android-vulkan-tutorials
然而,我无法让它构建,它总是给我这个错误:
1: Task failed with an exception.
-----------
* What went wrong:
Execution failed for task ':app:buildCMakeDebug[arm64-v8a]'.
> com.android.ide.common.process.ProcessException: ninja: Entering directory `C:\gmmo\android-vulkan-tutorials-master\tutorial06_texture\app\.cxx\Debug\2b51h276\arm64-v8a'
C++ build system [build] failed while executing:
@echo off
"C:\\Users\\gmmo\\AppData\\Local\\Android\\Sdk\\cmake\\3.22.1\\bin\\ninja.exe" ^
-C ^
"C:\\gmmo\\android-vulkan-tutorials-master\\tutorial06_texture\\app\\.cxx\\Debug\\2b51h276\\arm64-v8a" ^
vktuts
from C:\gmmo\android-vulkan-tutorials-master\tutorial06_texture\app
ninja: error: 'C:/gmmo/android-vulkan-tutorials-master/tutorial06_texture/app/src/main/cpp/shaderc/libs/c++_static/arm64-v8a/libshaderc.a', needed by 'C:/gmmo/android-vulkan-tutorials-master/tutorial06_texture/app/build/intermediates/cxx/Debug/2b51h276/obj/arm64-v8a/libvktuts.so', missing and no known rule to make it
显然,其他人也有这个问题,周围的工作是评论了'armeabi-v7a'下的gradle
from here:
abiFilters 'armeabi-v7a', 'arm64-v8a', 'x86', 'x86_64'
change to:
abiFilters 'arm64-v8a', 'x86', 'x86_64'
我照做了但没什么效果。
奇怪的是,如果你下载教程5(没有纹理的三角形),它就能工作。
任何人都可以给我一个如何绕过这个问题的建议?如果你正在使用"Android Studio Dolphin",请记住拉它,并尝试建立在你的一端,告诉我你是否正在尝试同样的问题。
谢谢您。
https://github.com/googlesamples/android-vulkan-tutorials/issues/28
我的Android Studio 信息(PC)
Android Studio Dolphin | 2021.3.1 Patch 1
Build #AI-213.7172.25.2113.9123335, built on September 29, 2022
Runtime version: 11.0.13+0-b1751.21-8125866 amd64
VM: OpenJDK 64-Bit Server VM by JetBrains s.r.o.
Windows 11 10.0
GC: G1 Young Generation, G1 Old Generation
Memory: 1280M
Cores: 16
Registry:
external.system.auto.import.disabled=true
ide.text.editor.with.preview.show.floating.toolbar=false
Non-Bundled Plugins:
com.intellij.plugins.visualstudiokeymap (213.5744.3)
GLSL (1.21)
1条答案
按热度按时间yc0p9oo01#
1.打开“shaderc”模块的“build.gradle”文件,该文件位于“app/src/main/cpp/shaderc”目录中。
1.找到“abiFilters”部分,它指定了应该为其构建库的体系结构。
1.确保要为其构建应用程序的所有体系结构都包含在“abiFilters”部分中。例如,如果只想为“arm 64-v8 a”构建,则“abiFilters”部分应如下所示:
abi过滤器“arm 64-v8 a”
1.通过在“项目”视图中选择“shaderc”模块,然后单击“构建”按钮来重建Shaderc库。
1.构建Shaderc库后,尝试再次构建教程应用程序。
1.您可能希望尝试通过选择“生成”-〉“清理项目”来清理项目并重新生成本机代码。