2012-04-02 8 views
12

के तहत मैं अपने सी ++/सीएलआई हेडर को किसी अन्य प्लेटफॉर्म के तहत संकलित करने के लिए चाहता हूं। बेशक मैं उन्हें संकलित करने की उम्मीद नहीं कर रहा हूं लेकिन उन्हें अनदेखा करूँगा।प्रोग्रामिंग के लिए प्रोग्राम करें यदि सी ++ या सी ++/सीएलआई

क्या यह उचित होगा? (_MSC_VER)

#ifdef _MSC_VER 

    using namespace System; 

     namespace ENMFP { 

      public ref struct Data { 
      }; 
     } 

#endif 

धन्यवाद!

उत्तर

14

आप __cplusplus_cli पूर्वनिर्धारित मैक्रो प्रलेखित here उपयोग कर सकते हैं:

#ifdef __cplusplus_cli 

using namespace System; 

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

#endif // __cplusplus_cli 
+0

धन्यवाद, कि एकदम सही है! – Aybe

+0

क्षमा करें, लेकिन मैंने बहुत तेज़ बात की, यह काम नहीं किया, हालांकि _ प्रबंधित काम करता है। – Aybe

+0

@ अरे, यह अजीब बात है, अगर मैक्रोज़ को परिभाषित किया जाना चाहिए तो '/ clr' विकल्प निर्दिष्ट किया गया है। क्या आप '/ clr: oldSyntax' का उपयोग कर रहे हैं? उस स्थिति में, आप प्रबंधित सी ++ को लक्षित कर रहे हैं, सी ++/सीएलआई नहीं :) –