ios - Qt/QMake iOS 设置目标、设备、其他 XCode 设置

标签 ios qt qmake

当您执行构建时,Qt for iOS 会创建一个 XCode 项目。

当这个项目是开了?

最佳答案

我在任何地方都找不到这个记录,但我想通了。

在您的 qmake(pro 或 pri 文件)中添加以下行:

# Set "Target"
QMAKE_IOS_DEPLOYMENT_TARGET = 5.0

# Set "Devices" (2=iPad Only)
QMAKE_IOS_TARGETED_DEVICE_FAMILY = 2

设备注意事项:1=iPhone,2=iPad,1,2=通用。

如果您需要更改其他 XCode 项目设置,您可以这样做:

在 Qt for iOS 中构建后,查看“编译输出”选项卡。 您会找到“export VARIBALE=some_value”条目的列表。 要更改这些 XCode build设置之一,只需在您的 qmake 中使用 QMAKE_IOS_VARIABLE_NAME = my_value。

有关这些环境变量的更多信息,请查看:Xcode Build Setting Reference

-- 更新--

最后一部分我错了。您不能像那样设置所有 XCode 变量。但是,如果您输出 QMAKESPEC,您将获得可以找到 qmake.conf 文件的路径,该文件将显示其中一些未记录的变量。在您的 pro/pri 中这样做:

  message( $$QMAKESPEC )

当您构建项目时,该路径将出现在 Qt 控制台的“常规”选项卡中。

这是我现在使用的扩展版本,其中包含一些用于设置构建架构的逻辑:

greaterThan( QT_MAJOR_VERSION, 5 ){
   DEFINES += QT_VER_5_4_OR_NEWER
}
else:equals( QT_MAJOR_VERSION, 5 ) &&
    greaterThan( QT_MINOR_VERSION, 3 ){
    DEFINES += QT_VER_5_4_OR_NEWER
}

contains(DEFINES, QT_VER_5_4_OR_NEWER){
    DEFINES += SUPPORT_64_BIT_IOS
    message( "SUPPORT_64_BIT_IOS" )
}

contains(DEFINES, SUPPORT_64_BIT_IOS) {
    iosArchitectures="armv7 arm64"
    iosTarget=5.1.1
}
else{
    iosArchitectures=armv7
    iosTarget=5.0
}

# Set "Architectures"
QMAKE_IOS_DEVICE_ARCHS = $$iosArchitectures

# Set "Target"
QMAKE_IOS_DEPLOYMENT_TARGET = $$iosTarget

# Set "Devices" (1=iPhone, 2=iPad, 1,2=Universal)
QMAKE_IOS_TARGETED_DEVICE_FAMILY = 2

关于ios - Qt/QMake iOS 设置目标、设备、其他 XCode 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24658563/

相关文章:

iphone - 如何在 viewController 中以编程方式布局 View 大小/位置并顺利处理旋转

c++ - 当 QApplication::notify() 捕获异常时应该返回什么

function - 如何从 qmake 替换函数中更改变量

c++ - 配置Qt项目(.pro文件)以使用PcapPlusPlus

用于在应用程序中呈现网站的 Android 库

ios - 如何以编程方式找到 Swift 的版本?

c++ - qApp->installTranslator() 和 tr 没有翻译?

qt - 用Qt编译项目后将文件复制到构建目录

ios - 这个片段在后台运行 block 有多好?

qt - 我有一个 ListView,可以在其中添加和删除 ListElements。当我删除 ListElement(行)时,有没有办法为下部项目的移动设置动画?