MSVC kapsamında derlenen C++ uygulamasındaki istisnaları devre dışı bırakmak istiyorum. Enable C++ istisnalarını Hayır olarak değiştirdim, ancak istemediğim seçeneği/Ehsc'i kullanmamı söyleyen uyarıları alıyorum.STL'deki istisnaları devre dışı bırakabilir miyim?
Kodumda try/catch blokları yok, ancak STL kullanıyorum. istisnalar kapatmak için nasıl bir yolu var mı
warning C4275: non dll-interface class 'stdext::exception' used as base for dll-interface class 'std::bad_typeid' see declaration of 'stdext::exception' see declaration of 'std::bad_typeid'
: Ben makro tanımı _HAS_EXCEPTIONS kullanarak = 0 STL istisnalar devre dışı gerektiğini bulduk, ama hala gibi uyarı alıyorum STL nedir?
Not: Kodumda da RTTI seçeneklerini kapatmak istiyorum. RTTI açık veya kapalı olursa olsun aynı uyarıları alırım.
Neyi anlamadığım/MD veya MDd kullanırken _STATIC_CPPLIB neden ihtiyacımız var. Okuduklarımdan kodun libcmt.lib kullanılmasına ve msvcrtd.lib kullanılmasına neden olur./MD'yi kullanmanın tüm noktası, dinamik olarak bağlantılı kitaplıklara sahip olmak ve statik bağlantılı kitaplıklara sahip olmamaktır. _STATIC_CPPLIB eklemek,/MD bayrağını kullanma amacını ortadan kaldırıyor gibi görünüyor. – gnash117
_STATIC_CPPLIB, MSVC 2010'da kullanımdan kaldırılmıştır, bu yüzden MSVC 2010 ile kullanmak bir uyarı setini diğeriyle değiştirecektir. – gnash117
gnash117, MSVC2008 için MSDN, _STATIC_CPPLIB önişlemcisi tanımını kullanırken, uygulamanızın msvcprt.lib yerine libcmt.lib dosyasını bağladığını ancak msvcrt.lib aracılığıyla dinamik olarak ana CRT'ye bağlandığını söylüyor. – Rom098