У меня есть Qt версия, которая поддерживает следующую ABI (в Qt Creator → Preferences → Построить & Run/Qt версии):Как определить целевую архитектуру iOS в qmake?
- рычажного MacOS-родового-mach_o-32bit
- рычажного Macos-родовой-mach_o -64bit
- x86-MacOS-родовой-mach_o-32bit
- x86-MacOS-родового-mach_o-64bit
Таким образом, сочетая в Qt Kit это Qt версии с различной compil я могу создавать библиотеки для всех упомянутых архитектур.
В то же время mkspecs/qconfig.pri
содержит:
host_build {
QT_ARCH = x86_64
QT_TARGET_ARCH = arm
} else {
QT_ARCH = arm
}
Так, в .pro
файл я не могу обнаружить целевую архитектуру (это всегда arm
). Я могу проверить CONFIG
на значение iphonesimulator
и поэтому обнаруживать архитектуру руки/не arm, но есть еще 32-битная/64-разрядная проблема.
Есть ли способ отличить armv7/arm64/... встроенный qmake (.pro-файл)?
По какой причине вы должны различать их? Я имею в виду, что для профильных файлов системы qmake лучше иметь как можно больше кроссплатформенности. Btw, вы можете явно установить конфигурацию сборки, например: Добавить тип target/build в Qt Creator, например ios-armv7; Также добавьте что-то вроде 'CONFIG + = ios-armv7' к его аргументам. Теперь вы можете выполнять действия, специфичные для архитектуры, в вашем .pro: 'ios-armv7 {...}' –
Мне нужно выполнить определенные задания пост-сборки (которые зависят от типа дуги), такие как установка значков и развертывание, запуск конкретные виртуальные машины и запуск тестов ... –