#!/bin/sh ./configure \ -prefix /home/liuyh/workspace/QT5.12.4/qt-everywhere-src-5.14.2 \ -opensource -confirm-license -release -embedded arm \ -xplatform qws/linux-arm-gnueabi-g++ -no-qt3support \ -depths 16,18,24,32 -no-qvfb -no-svg -no-cups -no-mmx \ -no-3dnow -no-sse -no-sse2 -no-glib -no-openssl -shared \ -no-largefile -no-accessibility -no-xrender -no-webkit \ -no-gtkstyle -nomake examples -nomake docs -nomake demos \ -plugin-mouse-pc -plugin-mouse-tslib -little-endian \ -plugin-mouse-linuxtp -fast -lrt -qt-mouse-tslib \ -D QT_NO_QWS_CURSOR \ -D QT_QWS_CLIENTBLIT ERROR: Unknown command line option '-embedded'.
时间: 2023-09-02 17:06:35 浏览: 232
这个脚本中的配置选项表明你正在尝试使用 Qt 在 ARM 平台上进行编译,并指定了正确的交叉编译工具链和库。但是,你遇到了一个错误,提示指定的命令行选项“-embedded”未知。
这个错误可能是因为你使用了不正确的选项或你的 Qt 版本不支持该选项。建议使用最新版本的 Qt 并参考官方文档来编译你的项目。
另外,你在配置选项中使用了一些已经被弃用的选项,例如 "-no-qt3support",这些选项在新版本的 Qt 中已经被删除或替换了。建议使用最新版本的 Qt 并参考官方文档来编译你的项目。
最后,你可以尝试添加其他的选项来调试问题,例如:
- "-v":增加编译输出的详细程度,以便更好地了解编译过程中发生了什么。
- "-makefile":生成 Makefile 并退出,以便你可以手动执行编译过程并查看是否有错误。
- "-no-pch":禁用预编译头文件,以便更好地了解编译过程中发生了什么。
如果你仍然无法解决问题,请尝试在 Qt 的官方论坛或社区中寻求帮助。他们可能会提供更详细的解决方案或建议。
相关问题
#!/bin/sh ./configure \ -prefix /home/liuyh/workspace/QT5.12.4/qt-everywhere-src-5.14.2 \ -opensource -confirm-license -release -platform arm \ -xplatform qws/linux-arm-gnueabi-g++ -no-qt3support \ -depths 16,18,24,32 -no-qvfb -no-svg -no-cups -no-mmx \
这个脚本中的配置选项表明你正在尝试使用 Qt 在 ARM 平台上进行编译,并指定了正确的交叉编译工具链和库。
如果你仍然遇到问题,你可以尝试检查你的编译器和系统是否符合 Qt 的要求,并确保你已经正确地安装了所需的工具和库。此外,你还可以尝试添加其他的选项来调试问题,例如:
- "-v":增加编译输出的详细程度,以便更好地了解编译过程中发生了什么。
- "-makefile":生成 Makefile 并退出,以便你可以手动执行编译过程并查看是否有错误。
- "-no-pch":禁用预编译头文件,以便更好地了解编译过程中发生了什么。
如果你仍然无法解决问题,请尝试在 Qt 的官方论坛或社区中寻求帮助。他们可能会提供更详细的解决方案或建议。
/home/awa6280a/qt-everywhere-src-5.14.2/qtbase/configure: 823: cannot create /home/awa6280a/qt-everywhere-src-5.14.2/qtbase/bin/qt.conf: Permission denied /home/awa6280a/qt-everywhere-src-5.14.2/qt.pro:2: Cannot write cache file /home/awa6280a/qt-everywhe
### 解决 QT 5.14.2 安装过程中因权限不足导致无法创建 `qt.conf` 文件的问题
在配置和安装 QT 的过程中,如果遇到权限不足而导致无法创建 `qt.conf` 文件的情况,可以采取以下方法解决问题。
#### 方法一:调整运行命令的权限
通过提升当前用户的权限来执行 `configure` 脚本。可以在终端中使用超级用户权限(sudo)重新运行 `./configure` 命令[^3]:
```bash
sudo ./configure -prefix /path/to/install/qt
```
上述命令中的 `-prefix` 参数指定了 Qt 的安装路径。确保指定的目标路径具有写入权限或者以管理员身份操作。
---
#### 方法二:修改目标目录权限
如果不希望每次都使用 sudo 提升权限,则可以直接赋予目标目录足够的权限以便于普通用户能够完成文件的读取、写入和删除操作。例如:
```bash
chmod -R 777 /path/to/install/qt
```
此方式会将 `/path/to/install/qt` 及其子目录设置为完全开放模式,允许任何用户对其进行访问和修改。需要注意的是,这种方式可能带来安全风险,因此仅建议用于开发测试环境中。
---
#### 方法三:手动放置 qt.conf 配置文件
当自动创建失败时,可以选择手工制作并放置 `qt.conf` 文件到适当位置。通常情况下,这个文件应该位于 Qt 库所在的根目录下。以下是标准格式的一个例子:
```ini
[Paths]
Prefix=/opt/Qt/5.14.2/gcc_64
Libraries=/opt/Qt/5.14.2/gcc_64/lib
Headers=/opt/Qt/5.14.2/gcc_64/include
```
其中 `[Paths]` 下的各项分别定义了不同资源的具体存储地址,请依据实际部署情况替换相应字段的内容。
---
#### 方法四:验证环境变量配置
即使解决了初始阶段的权限问题,后续还需要确认所有必要的环境变量均已正确定义好。比如 PATH 中包含了编译器工具链的位置;而 LD_LIBRARY_PATH 则需指向新安装好的共享库所在之处等等。此外,对于多媒体功能的支持部分,可参照如下代码片段初始化特定平台上的媒体后端服务[^2]:
```cpp
#include <QCoreApplication>
int main(int argc, char *argv[]) {
QCoreApplication app(argc, argv);
// 设置 FFmpeg 后端 (跨平台兼容方案)
qputenv("QT_MEDIA_BACKEND", "ffmpeg");
return app.exec();
}
```
注意这里调用了全局函数 `qputenv()` 来设定名为 `"QT_MEDIA_BACKEND"` 的字符串型参数值为 `"ffmpeg"` ,从而激活基于 FFMPEG 实现的新一代音视频处理框架接口。
---
### 总结
以上介绍了四种针对 QT 5.14.2 版本由于权限不够造成未能成功建立 `qt.conf` 文档情形下的应对策略。具体采用哪一种取决于个人偏好以及项目需求背景等因素综合考量之后再做决定。
阅读全文
相关推荐















