我为QNX、ARM编译,我的主机平台可以是Win32/64、Linux或Mac我想找到一种方法来查看小麦是我的主机平台在我的PRO文件(在计算机上我构建我的项目)
明显使用:
win32 {}
unix {}
macx {}
不起作用,因为在不同的操作系统上,它总是报告unix,所以我认为这是目标平台那么,如何获得当前的主机平台来使PRO文件灵活,因为在不同的平台上我想做不同的事情。
感谢
也许QMAKE_HOST
变量就是您问题的答案?
以下是来自官方Qt文档的信息:
QMAKE_HOST
提供有关运行qmake的主机的信息。例如,您可以从QMAKE_host.arch.检索主机体系结构
- .arch-主机体系结构
- .os-主机操作系统
- .cpu_count—可用cpu的数量
- .name-主机名
- .version-主机操作系统版本号
- .version_string-主机操作系统版本字符串
win32-g++:contains(QMAKE_HOST.arch, x86_64):{
message("Host is 64bit")
...
}
无法获得更好的结果:
QMAKE_SPEC_T = $$[QMAKE_SPEC]
contains(QMAKE_SPEC_T,.*win32.*){
HOST_PLATFORM=WIN
IS_WIN = 1
}
contains(QMAKE_SPEC_T,.*macx.*){
HOST_PLATFORM=MAC
IS_MAC = 1
}
contains(QMAKE_SPEC_T,.*linux.*){
HOST_PLATFORM=LINUX
IS_LINUX = 1
}
然后在任何地方检查:
!isEmpty(IS_WIN):message($${HOST_PLATFORM})
!isEmpty(IS_MAC):message($${HOST_PLATFORM})
!isEmpty(IS_LINUX):message($${HOST_PLATFORM})