关于clang: error: invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later)

本文详细介绍了在使用Xcode4.5进行iOS开发时遇到的编译错误问题:invalid deployment target for stdlib=libc++ (requires iOS 5.0 or later)。通过调整target下的C++ Language Dialect和C++ Standard Library设置,可以成功解决此问题。提供了相关解决方案和步骤说明,帮助开发者快速定位并解决类似错误。

Xcode4.5,编译时,经常会碰到错误提示:

invalid deployment target for -stdlib=libc++ (requires iOS 5.0 or later)

这是由于导入C++静态库引发的。修改target下的



将C++ Language Dialect 和C++ Standard Library 设置为Compiler Default 就OK了。


相关文章路径:

http://www.cnblogs.com/qiezi/archive/2012/11/27/2790687.html

# Compiler-specific C++17 activation. if(CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Intel") execute_process( COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE GCC_VERSION) # Just g++-5.0 and greater contain <codecvt> header. (test in ubuntu) if(NOT (GCC_VERSION VERSION_GREATER 5.0 OR GCC_VERSION VERSION_EQUAL 5.0)) message(FATAL_ERROR "${PROJECT_NAME} requires g++ 5.0 or greater.") endif () elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND ANDROID) # Need -Os cflag and cxxflags here to work with exception handling on armeabi. # see https://github.com/android-ndk/ndk/issues/573 # and without -stdlib=libc++ cxxflags elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND APPLE) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++") elseif (CMAKE_CXX_COMPILER_ID MATCHES "Clang" AND ( CMAKE_SYSTEM_NAME MATCHES "Linux" OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD") ) execute_process( COMMAND ${CMAKE_CXX_COMPILER} -dumpversion OUTPUT_VARIABLE CLANG_VERSION) if(NOT (CLANG_VERSION VERSION_GREATER 4.2.1 OR CLANG_VERSION VERSION_EQUAL 4.2.1)) message(FATAL_ERROR "${PROJECT_NAME} requires clang 4.2.1 or greater.") endif() # You can use libc++ to compile this project when g++ is NOT greater than or equal to 5.0. if(WITH_LIBCXX) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++") endif() elseif(MSVC_VERSION GREATER 1800 OR MSVC_VERSION EQUAL 1800) # Visual Studio 2012+ supports C++17 features elseif(CMAKE_SYSTEM_NAME MATCHES "Emscripten") set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++17 -stdlib=libc++") else() message(FATAL_ERROR "Your C++ compiler does not support C++17.") endif() 这一段为什么会报不支持17的错误
最新发布
11-26
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值