【发布时间】:2015-05-23 10:46:00
【问题描述】:
qt 源码附带了一些示例。 从互联网上下载后,我转到示例/绘画/同心圆并运行“qmake”,它会从 .pro 文件生成 Makefile(设置 CC=gcc),然后在 make 之后,我可以运行演示程序同心圆我的 CentOS 机器。 (运行 x86 代码)。
现在我有一个在运行操作系统的 sparc 机器上运行 Qt 的项目,并且我已经设置了构建树。如果我将整个同心圆目录移动到构建树中的某个位置,当我运行“qmake”时,生成的 Makefile 会设置 CC=sparc-xxx-gcc 而不仅仅是普通的 gcc(用于 x86 主机)。事实上,不移动目录,如果我从 sparc 构建树运行 qmake,它会为 sparc 生成 Makefile。 (不管 .pro 文件)
qmake 如何知道我只是从我运行 qmake 的位置为 sparc 机器构建 qt 程序?下面是 concentriccircles.pro 文件。
HEADERS = circlewidget.h \
window.h
SOURCES = circlewidget.cpp \
main.cpp \
window.cpp
# install
target.path = $$[QT_INSTALL_EXAMPLES]/painting/concentriccircles
sources.files = $$SOURCES $$HEADERS $$RESOURCES $$FORMS concentriccircles.pro
sources.path = $$[QT_INSTALL_EXAMPLES]/painting/concentriccircles
INSTALLS += target sources
symbian {
TARGET.UID3 = 0xA000A64A
include($$QT_SOURCE_TREE/examples/symbianpkgrules.pri)
}
maemo5: include($$QT_SOURCE_TREE/examples/maemo5pkgrules.pri)
【问题讨论】:
-
编译器是在设置构建环境时指定的。编译器不是从项目规范中读取的。