【问题标题】:Qt .pro file - how to add conditioning on OSX version?Qt .pro 文件 - 如何在 OSX 版本上添加条件?
【发布时间】:2015-01-06 06:29:09
【问题描述】:

我有一个在两台开发机器之间共享的 Qt 代码库。一种是 OSX 10.8.5,一种是 OSX 10.9.5。

除非我包含以下内容,否则该项目不会在 10.9.5 上编译:

QMAKE_MAC_SDK = macosx10.9

因此我有两个 .pro 文件,一个带有/不带有该行。如何让 .pro 文件根据检测到的 Mac OSX 版本有条件地包含该行?

【问题讨论】:

    标签: c++ macos qt build build-process


    【解决方案1】:

    我最近在上面找到了一些info,它似乎是可行的(应用一次):

    OS_VERSION = $$system(uname -r)                             # common to Unix
    contains(OS_VERSION, VersionTag):SOURCES += example.c       # can apply to different options
    contains(OS_VERSION, VersionTag):QMAKE_MAC_SDK = macosx10.9 # like that?
    

    回答 Tay2510,由于某种原因,只有完整的字符串在 Linux 上有效:

    OS_VERSION = $$system(uname -r)
    message($$OS_VERSION)
    contains( OS_VERSION, 3.13.0-39-generic ) {
        message(Generic)
    }
    
    #Output:
    
    Project MESSAGE: 3.13.0-39-generic
    Project MESSAGE: Generic
    

    【讨论】:

    • 你测试过吗?我很惊讶在文档中无法轻易找到这些信息......不是操作系统用户,只是好奇。
    • Tay2510,无法回忆起我工作中的所有细节,但只是在家里的 Linux 上尝试过:OS_VERSION = $$system(uname -r) message($$OS_VERSION) contains(OS_VERSION, 3.13.0 -39-generic ) { message(Generic) }
    猜你喜欢
    • 1970-01-01
    • 2020-02-19
    • 2013-09-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    相关资源
    最近更新 更多