由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库
Posted
技术标签:
【中文标题】由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库【英文标题】:Qt Creator fails to build Android library due to back slashes in NDK path 【发布时间】:2015-12-22 10:05:49 【问题描述】:我正在尝试使用 NDK android-ndk-r10e 在 Windows 8.1 上为 Android 构建 C++ 库。该库在 Linux 上构建得非常好,但我无法让它在 Windows 上运行。
我总是收到这个错误:
/usr/bin/sh: C:android-ndk-r10e/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/arm-linux-androideabi-g++: No such file or directory
如您所见,Qt Creator 将 g++ 的路径显示为C:android-ndk-r10e
,而实际上它是C:\android-ndk-r10e
。我尝试手动编辑 Makefile,但似乎每次都重新创建它,所以我的更改被丢弃了。
这是一个已知问题吗?我该如何解决?
(Qt 版本 5.4.2,Qt Creator 3.6.0)
【问题讨论】:
在 Qt Creator 选项对话框中,尝试将 Android NDK 位置 设置为C:/android-ndk-r10e
。
这是我尝试的第一件事,但不起作用。每次我单击应用并关闭选项窗口时,它都会再次回到 C:\
尝试手动更改AppData\Roaming\QtProject中的文件QtCreator.ini和toolChains.xml
一个警告——也许你的机器上安装了另一个 MinGW。确保使用 Qt 包中的那个。
@AlexCohn,谢谢你的好建议! git 自带的另一个 mingw 确实是罪魁祸首。一旦我从我的 PATH 中删除它,一切正常!如果您这样发布,我很乐意接受这个作为答案:)
【参考方案1】:
注意其他 MinGW 安装; Qt Creator 安装了自己的 MinGW,您应该将这个用于 Qt。
【讨论】:
所以我看到了完全相同的问题,但没有其他 MinGW 可责备。你知道它还能是什么吗? @FelipeCenteno 检查您使用的路径是否没有空格或其他奇怪字符 不,没有奇怪的字符或空格。这个问题来自一位同事,我一直在努力提供帮助。这是他的问题的链接:“***.com/questions/44574825/…”以上是关于由于 NDK 路径中的反斜杠,Qt Creator 无法构建 Android 库的主要内容,如果未能解决你的问题,请参考以下文章
如何使用Qt Creator创建一个不依赖于Android的单个本机共享库
为啥在定义为宏值的路径中指定的反斜杠会被删除?有没有办法避免这种情况?