visual Есть ли предопределенный #define или другой способ узнать в исходном коде, что он компилируется для C ++ / CX Windows Runtime?

Visual Studio 2012 (и более ранние версии) предоставляют предопределенные #defines, чтобы исходный код можно было соответствующим образом изменить в #ifdef, см. http://msdn.microsoft.com/en-us/library/b0084kay.aspx

Я хотел бы #ifdef некоторый код C ++, если он компилируется (или нет) для среды выполнения Windows 8 (расширения компонентов для среды выполнения C ++ / CX), то есть с переключателем компилятора / ZW, см. http://msdn.microsoft.com/en-us/library/hh561383.aspx а также http://msdn.microsoft.com/en-us/library/xey702bw.aspx

Проверка на компиляцию C ++ или CLR обеспечивается __cplusplus и __cplusplus_cli (или __CLR_VER) соответственно, но, похоже, нет способа #ifdefing для компиляции среды выполнения C ++ / CX / Zw Windows !?

Кто-нибудь знает способ?
Спасибо

3

Решение

__cplusplus_winrt макрос определяется, когда включена поддержка C ++ / CX (т.е. при компиляции с / ZW).

8

Другие решения

Других решений пока нет …