В моем Prefix.pch
файл, который я использую __OBJC__
препроцессор определить для компиляции заголовков Objective C. Что является эквивалентом для компиляции заголовков C ++?
#ifdef __OBJC__
#import <Foundation/Foundation.h>
#import <UIKit/UIKit.h>
#endif
Существует стандартная препроцессорная константа, __cplusplus
, Его значение расширено до номера версии используемого стандарта C ++:
__cplusplus
обозначает версию стандарта C ++, которая используется, расширяется до
значение 199711L (до C ++ 11), 201103L (C ++ 11), 201402L (C ++ 14) или
201703L (C ++ 17)
Источник: cppreference
Итак, вы можете написать, например:
#ifdef __cplusplus
#if __cplusplus >= 201103L
// include new stuff
#else
// use legacy features
#endif
#endif
Других решений пока нет …