NDK build issue: aarch64-linux-android-ar.exe xxx.cpp.o: No such file or directory

1.6k Views Asked by At

Background: I'm building a gradle project with linked C++ project (external native build).

In that procedure, an unexpected error happened:

D:\jenkins_node\workspace\new_build_android2\new_android_build_test\android-ndk-r20\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar.exe: sandbox/3rd/Bullet/src/BulletCollision/CMakeFiles/BulletCollision.dir/CollisionDispatch/btActivatingCollisionAlgorithm.cpp.o: No such file or directory

Then I reproduced this error in command line on the same machine:

D:\jenkins_node\workspace\new_build_android2\new_android_build_test\engine\projects\android\.externalNativeBuild\cmake\release\arm64-v8a>D:\jenkins_node\workspace\new_build_android2\new_android_build_test\android-ndk-r20\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar.exe qc .\sandbox\3rd\Bullet\src\BulletCollision\libBulletCollision.a  @CMakeFiles/BulletCollision.rsp

The content of @CMakeFiles/BulletCollision.rsp is https://gist.github.com/zwcloud/4897dde48194e5324c899f17a3356be6 , which contains:

sandbox/3rd/Bullet/src/BulletCollision/CMakeFiles/BulletCollision.dir/CollisionDispatch/btActivatingCollisionAlgorithm.cpp.o

The file btActivatingCollisionAlgorithm.cpp.o does exist:

file <code>btActivatingCollisionAlgorithm.cpp.o</code> does exist

What's the possible reason why aarch64-linux-android-ar.exe reports the error that btActivatingCollisionAlgorithm.cpp.o doesn't exist? And how to fix this?

UPDATE:

I just tried

D:\jenkins_node\workspace\new_build_android2\new_android_build_test\android-ndk-r20\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar.exe qc sandbox\3rd\Bullet\src\BulletCollision\libBulletCollision.a sandbox/3rd/Bullet/src/BulletCollision/CMakeFiles/BulletCollision.dir/CollisionDispatch/btActivatingCollisionAlgorithm.cpp.o

And it still reported the same error:

D:\jenkins_node\workspace\new_build_android2\new_android_build_test\android-ndk-r20\toolchains\llvm\prebuilt\windows-x86_64\bin\aarch64-linux-android-ar.exe: sandbox/3rd/Bullet/src/BulletCollision/CMakeFiles/BulletCollision.dir/CollisionDispatch/btActivatingCollisionAlgorithm.cpp.o: No such file or directory

Environment: Win10, CMake 3.10 (downloaded by Android Studio 3.5 in Settings -> SDK Tools), Android NDK r20

0

There are 0 best solutions below