Каково значение «Компилятор по умолчанию» для «Стандартной библиотеки C ++» и «Диалект языка C ++» в Xcode 4.5?
Я предполагаю, что это libstdc ++ и GNU ++ 98, но было бы неплохо получить разъяснения.
От Примечания к выпуску Xcode 4.5:
Проекты, созданные с использованием этого выпуска XCode, используют новый libc ++
реализация стандартной библиотеки C ++. Библиотека libc ++ есть
доступно только на iOS 5.0 и более поздних версиях и OS X 10.7 и более поздних версиях. 12221787Чтобы включить развертывание на более ранних выпусках iOS и OS X в вашем
проект, установите для параметра сборки стандартной библиотеки C ++ значение libstdc ++ (Gnu
Стандартная библиотека C ++).
Я заметил, что при создании нового проекта явно устанавливаются GNU ++ 11 и libc ++, но «Compiler Default», вероятно, является чем-то другим.
Вот лучший способ узнать это:
#include <iostream>
int main()
{
#ifdef _LIBCPP_VERSION
std::cout << "Using libc++\n";
#else
std::cout << "Using libstdc++\n";
#endif
#ifdef __GXX_EXPERIMENTAL_CXX0X__
#if __cplusplus == 1
std::cout << "Language mode = gnu++11\n";
#else
std::cout << "Language mode = c++11\n";
#endif
#else
#if __cplusplus == 1
std::cout << "Language mode = gnu++98\n";
#else
std::cout << "Language mode = c++98\n";
#endif
#endif
}
Просто создайте тестовый проект с настройками по умолчанию и запустите его.
Других решений пока нет …