首页 > 解决方案 > Android NDK clang 编译器错误在 Windows 上显示“没有这样的文件或目录”

问题描述

我正在尝试学习如何使用 ndk r21 将 c/c++ 本机代码与 android 一起使用。我将我的 C++ cmake 文件链接到我的 android 项目和生成的 cpp 共享库文件中。但是,我收到如下编译器错误:-

C/C++ 配置问题 Toka | 调试 | x86 编译器以错误代码 1 退出:C:\Users\ASUS\AppData\Local\Android\Sdk\ndk\21.0.6113669\toolchains\llvm\prebuilt\windows-x86_64\bin\clang++.exe -xc++ --target= i686-none-linux-android16 --gcc-toolchain=C:/Users/ASUS/AppData/Local/Android/Sdk/ndk/21.0.6113669/toolchains/llvm/prebuilt/windows-x86_64 --sysroot=C:/用户/ASUS/AppData/Local/Android/Sdk/ndk/21.0.6113669/toolchains/llvm/prebuilt/windows-x86_64/sysroot -DTOKA_ARCHIVE_DIR=\"../docs/\" -DTOKA_BASE_DIR=\"../\ " -DTOKA_DATABASE_DIR=\"../docs/database/\" -DTOKA_DEVELOPMENT_BUILD -DTOKA_PLUGIN_DIR=\"plugins/Debug/\"https://android.googlesource.com/toolchain/llvm-project 207d7abc...

这是我可以复制到剪贴板的部分错误。其中一个库的完整错误如下图所示。

错误消息(无法将其复制到剪贴板)

我尝试在谷歌上搜索类似的错误,但没有找到。有人说这可能是 Windows 上的路径长度问题。我直接在 C:\ 下复制了我的 ndk 以获得最短路径,但无济于事。我按照此处为 android studio 配置 cmake 和 ndk 的指南进行操作,但仍然遇到相同的错误。我安装了更高版本的 cmake,后来我了解到它没有用,因为 ndk 附带了它自己的 cmake 安装。我安装了较旧的 ndk r20 和 r12b,但问题仍然没有消失。事实上,r12b 似乎不支持 cmake。我不知道该怎么办了。我已经尝试解决这个问题 3 天了。似乎这个问题有一个我忽略的明显解决方案。有人可以帮帮我吗。谢谢。

标签: androidc++android-studiocmakeandroid-ndk

解决方案


对我来说,这是一个空格字符问题。项目文件夹(或项目名称)不应包含任何空格字符。显然某些内部命令行不支持 while 空格,或者缺少某些双引号。


推荐阅读