如何使用qmake指定目标mac os x版本

  发布于 2023-01-09 09:07

我试图使用Qt Creator/qmake在Mac OS X上编译c ++ 11代码,我收到以下错误:

clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)

当我检查编译命令行时,我注意到它包含-mmacosx-version-min = 10.6标志.我尝试按如下方式更新我的.pro文件,但似乎没有考虑到这一点:

QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++

macx {
    -mmacosx-version-min=10.7
}

任何的意见都将会有帮助.谢谢!

2 个回答
  • 在看了类似的问题之后OK找到了解决方案:OSX升级后QtCreator构建系统坏了

    您可以通过更新Qt安装中的clang的qmake.conf文件来更改最小的Mac OS X目标(我使用的是Qt5.3).该文件位于Qt安装目录的Qt/5.3/clang_64/mkspecs/macx-clang/qmake.conf中.更新版本如下:

    #
    # qmake configuration for Clang on OS X
    #
    
    MAKEFILE_GENERATOR      = UNIX
    CONFIG                 += app_bundle incremental global_init_link_order lib_version_first     plugin_no_soname
    QMAKE_INCREMENTAL_STYLE = sublib
    
    include(../common/macx.conf)
    include(../common/gcc-base-mac.conf)
    include(../common/clang.conf)
    include(../common/clang-mac.conf)
    
    #QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
    QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.7
    
    load(qt_config)
    

    请注意,我已经注释掉了提供Qt安装的默认QMAKE_MACOSX_DEPLOYMENT_TARGET版本.

    最后,您还可以在.pro文件中指定要使用的sdk,如下所示:

    macx {
        QMAKE_MAC_SDK = macosx10.9
    }
    

    2023-01-09 09:14 回答
  • 您实际上可以将该部署目标行添加QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6 到QMake项目文件中.您不必重新安装Qt.

    但要注意的一件事是:如果您构建了包含在应用程序包中的任何其他库,请确保它们也是为了向后兼容而编译的!如果它有助于任何库,那么也有一个等效的CMake命令CMAKE_OSX_DEPLOYMENT TARGET.

    2023-01-09 09:14 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有