【发布时间】:2017-08-25 14:51:45
【问题描述】:
我正在尝试从 Linux 终端交叉编译一堆 Qt。当我运行 qmake 时,它以必须定义 CROSS_COMPILE 变量的方式在我的上下文中应用 mkspecs qmake.conf。例如,有一个关键的 conf 行如下所示:
QMAKE_CXX = $${CROSS_COMPILE}g++
Qmake 返回一个错误,但它清楚地表明 $${CROSS_COMPILE} 没有得到解决。它只是使用“g++”而不是应该存在的整个值。
我尝试调用 qmake 并从 bash 脚本中定义变量,如下所示:
qmake qt.pro "CROSS_COMPILE=${CROSS_COMPILE}"
像这样:
qmake qt.pro -- "CROSS_COMPILE=${CROSS_COMPILE}"
还有其他一些类似的尝试。我还尝试过对该命令中的值进行硬编码,以防与它有关。我也尝试将其定义为环境变量(以防万一)...
没有任何作用。然而,我已经看到很多例子表明这种语法似乎是有效的。做错了什么?会不会有字符转义并发症?
【问题讨论】:
-
是
.qmake.conf文件的变量部分吗?这些参数仅适用于 pro 文件,而不适用于 qmake 配置。您可能需要通过--spec参数传递正确的 qmake 规范。检查mkspecs目录以找到正确的目录,或创建您自己的目录。这可能有效。 -
谢谢,菲利克斯。我来看看 --spec 参数。
标签: linux qt cross-compiling qmake