Big*_*ion 8 c++ macos qt qmake
我试图使用Qt Creator/qmake在Mac OS X上编译c ++ 11代码,我收到以下错误:
clang: error: invalid deployment target for -stdlib=libc++ (requires OS X 10.7 or later)
Run Code Online (Sandbox Code Playgroud)
当我检查编译命令行时,我注意到它包含-mmacosx-version-min = 10.6标志.我尝试按如下方式更新我的.pro文件,但似乎没有考虑到这一点:
QMAKE_CXXFLAGS += -std=c++11 -stdlib=libc++
macx {
-mmacosx-version-min=10.7
}
Run Code Online (Sandbox Code Playgroud)
任何的意见都将会有帮助.谢谢!
您实际上可以将该部署目标行添加QMAKE_MACOSX_DEPLOYMENT_TARGET = 10.6
到QMake项目文件中.您不必重新安装Qt.
但要注意的一件事是:如果您构建了包含在应用程序包中的任何其他库,请确保它们也是为了向后兼容而编译的!如果它有助于任何库,那么也有一个等效的CMake命令CMAKE_OSX_DEPLOYMENT TARGET.
在看了类似的问题之后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)
Run Code Online (Sandbox Code Playgroud)
请注意,我已经注释掉了提供Qt安装的默认QMAKE_MACOSX_DEPLOYMENT_TARGET版本.
最后,您还可以在.pro文件中指定要使用的sdk,如下所示:
macx {
QMAKE_MAC_SDK = macosx10.9
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15637 次 |
| 最近记录: |