From bf246e6c28be88ea71220d8812fdfbb414f070f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tor=20Arne=20Vestb=C3=B8?= Date: Wed, 4 Dec 2013 14:21:27 +0100 Subject: [PATCH] iOS: Explicitly use libstdc++ when C++11 support is not enabled Otherwise Xcode might choose to use libc++, eg when the deployment target is iOS7, and this doesn't work when Qt itself was built using libstdc++. Change-Id: I0b0f36666ed318be9aae87ebaeb0d344109566ac Reviewed-by: Simon Hausmann --- mkspecs/macx-ios-clang/features/default_post.prf | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mkspecs/macx-ios-clang/features/default_post.prf b/mkspecs/macx-ios-clang/features/default_post.prf index 262a8f18894..8d46f35201c 100644 --- a/mkspecs/macx-ios-clang/features/default_post.prf +++ b/mkspecs/macx-ios-clang/features/default_post.prf @@ -183,6 +183,15 @@ macx-xcode { QMAKE_SUBSTITUTES += copy_image launch_images.files = $$copy_image.output QMAKE_BUNDLE_DATA += launch_images + + !c++11 { + # Explicitly use libstdc++ if C++11 support is not enabled, + # as otherwise Xcode will choose the compiler default based + # on the deployment target, which for iOS 7 is libc++. This + # breaks compilation since Qt was built against libstdc++. + QMAKE_CXXFLAGS += -stdlib=libstdc++ + QMAKE_LFLAGS += -stdlib=libstdc++ + } } macx-xcode {