2012-04-02 43 views
12

Tôi muốn các tiêu đề C++/CLI của mình biên dịch ngay cả khi dưới một nền tảng khác. Tất nhiên tôi không mong đợi để biên dịch chúng mà chỉ bỏ qua chúng.Tìm lập trình nếu theo C++ hoặc C++/CLI

Điều này có phù hợp không? (_MSC_VER)

#ifdef _MSC_VER 

    using namespace System; 

     namespace ENMFP { 

      public ref struct Data { 
      }; 
     } 

#endif 

Cảm ơn!

Trả lời

14

Bạn có thể sử dụng __cplusplus_cli vĩ mô được xác định trước ghi here:

#ifdef __cplusplus_cli 

using namespace System; 

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

#endif // __cplusplus_cli 
+0

Cảm ơn, đó là hoàn hảo! – Aybe

+0

Xin lỗi nhưng tôi đã nói quá nhanh, nó không hoạt động, tuy nhiên _MANAGED hoạt động. – Aybe

+0

@ Vâng, đó là lạ, cả hai macro được cho là được xác định nếu tùy chọn '/ clr' được chỉ định. Bạn có perchance sử dụng '/ clr: oldSyntax'? Trong trường hợp đó, bạn đang nhắm mục tiêu Quản lý C++, không phải C++/CLI :) –

Các vấn đề liên quan