C++ standart kitaplığının bir önişlemci yönergesi kullanarak C++ 11 desteğine sahip olup olmadığını belirlemek mümkün mü?C++ 11 Standart kitaplığını algılamak için bir önişlemci yönergesi var mı?
Şu anda C++ 11 desteği (bu olmayan C++ 11 ile bağlantı gerekiyor olmadan standart kütüphane ++ ancak C ile, C++ 11 dil lehçesini kullanan bir proje üzerinde çalışıyorumkütüphaneler).
C++ 11 desteğini #if __cplusplus >= 201103L
kullanarak test edebileceğimin farkındayım, ancak durumumda bu durum doğru olarak değerlendirilecektir. C++ 11 için C++ standart kütüphane desteğini bilmem gerekiyor.
İlgili: http://stackoverflow.com/q/11886288/743214 –
* "C++ 11 desteğini" #if __cplusplus> = 201103L "kullanarak test edebileceğimin farkındayım * * - Hayır , o bile değil. En derleyiciler sadece (gerçi, alt küme olabileceğini ancak büyük) C++, 11 bir alt kümesini destekledikleri göz önüne alındığında, bu '__cplusplus' makro düpedüz işe yaramaz. (* TemplateRex * onun cevabını işaret ettiği gibi, * girişimleri bu yoldalar çözmek için * rağmen) portably standart özellikler (dil veya kütüphane olsun) hala çözülmemiş bir sorundur için test. –
Bana göre, sorununuz CMake veya autotools gibi bir yapılandırma aracına ihtiyacınız olduğu gibi geliyor. Sizin için kontroller yapar ve değerlendirebileceğiniz Makroları içeren bir başlık oluştururlar. Yalnızca bir kitaplığınız varsa, kullanıcılarınızdan makro sağlama - hala kötü bir çözüm sağlamalarını isteyebilirsiniz. – usr1234567