2012-04-02 11 views
12

Me gustaría que mis encabezados de C++/CLI compilen aunque estén bajo otra plataforma. Por supuesto, no espero compilarlos, solo ignorarlos.Buscar mediante programación si bajo C++ o C++/CLI

¿Sería apropiado? (_MSC_VER)

#ifdef _MSC_VER 

    using namespace System; 

     namespace ENMFP { 

      public ref struct Data { 
      }; 
     } 

#endif 

Gracias!

Respuesta

14

Puede utilizar el __cplusplus_cli macro predefinida documentado here:

#ifdef __cplusplus_cli 

using namespace System; 

namespace ENMFP 
{ 
    public ref struct Data 
    { 
     // ... 
    }; 
} 

#endif // __cplusplus_cli 
+0

Gracias, que es perfecto! – Aybe

+0

Lo siento pero hablé demasiado rápido, no funcionó, sin embargo _MANAGED funciona. – Aybe

+0

@Aybe, eso es extraño, se supone que ambas macros se deben definir si se especifica la opción '/ clr'. ¿Acaso estás usando '/ clr: oldSyntax'? En ese caso, su objetivo es Managed C++, no C++/CLI :) –

Cuestiones relacionadas