如何在qmake中检测目标iOS架构?

时间:2016-09-06 00:10:36

标签: ios qt qmake

我有一个支持ABI的Qt版本(Qt Creator→首选项→Build& Run / Qt版本):

  • 臂的MacOS泛型-mach_o-32位
  • 臂的MacOS泛型-mach_o-64位
  • x86的MacOS的泛型-mach_o-32位
  • x86的MacOS的泛型-mach_o-64位

因此,在Qt Kit中将这个Qt版本与不同的编译器相结合,我可以为所有提到的架构构建库。

同时mkspecs/qconfig.pri包含:

host_build {
    QT_ARCH = x86_64
    QT_TARGET_ARCH = arm
} else {
    QT_ARCH = arm
}

因此,在.pro文件中,我无法检测到目标体系结构(它总是arm)。我可以检查CONFIG iphonesimulator值,然后检测arm / not arm架构,但仍有32bit / 64bit问题。

有没有办法区分qmake(.pro文件)中的armv7 / arm64 / ...版本?

1 个答案:

答案 0 :(得分:0)

我找到的唯一方法是:

Qt Creator→偏好设置→Build&运行/套件→环境→更改......

为每个工具包设置特定的IOS_ARCH env var。

.pro档案中:

IOS_ARCH = $$(IOS_ARCH)
!isEmpty(IOS_ARCH): TARGET_ARCH = $$IOS_ARCH
# then use $$TARGET_ARCH as usual