Bağlayıcı Araçları Uyarısı LNK4098

defaultlib 'library' diğer kitaplıkların kullanımıyla çakişer; /NODEFAULTLIB:library kullanın

Uyumsuz kitaplıklarla bağlantı kurmaya çalışıyorsunuz.

Dekont

Çalışma zamanı kitaplıkları artık farklı türlerin karıştırılmasını önlemek için yönergeler içeriyor. Aynı programda farklı türler kullanmayı veya çalışma zamanı kitaplığının hata ayıklama ve hata ayıklama dışı sürümlerini kullanmayı denerseniz bu uyarıyı alırsınız. Örneğin, bir dosyayı bir tür çalışma zamanı kitaplığını ve başka bir dosyayı başka bir tür (örneğin, perakende için hata ayıklama) kullanmak üzere derlediyseniz ve bunları bağlamaya çalıştıysanız, bu uyarıyı alırsınız. Aynı çalışma zamanı kitaplığını kullanmak için tüm kaynak dosyaları derlemeniz gerekir. Daha fazla bilgi için bkz . /MD, /MT, /LD (Çalışma Zamanı Kitaplığını Kullan) derleyici seçenekleri.

Bağlayıcının hangi kitaplıkları arayabileceğini bulmak için bağlayıcının /VERBOSE:LIB anahtarını kullanabilirsiniz. Örneğin, yürütülebilir dosyanız çok iş parçacıklı, hata ayıklaması olmayan çalışma zamanı kitaplıklarını kullandığında, bildirilen listede LIBCMTD.lib, MSVCRT.lib veya MSVCRTD.lib değil LIBCMT.lib bulunmalıdır. Yoksaymak istediğiniz her kitaplık için /NODEFAULTLIB kullanarak bağlayıcıya yanlış çalışma zamanı kitaplıklarını yoksaymasını söyleyebilirsiniz.

Aşağıdaki tabloda, kullanmak istediğiniz çalışma zamanı kitaplığına bağlı olarak hangi kitaplıkların yoksayılması gerektiği gösterilmektedir. Komut satırında, her kitaplığın yoksaymak için bir /NODEFAULTLIB seçeneğini kullanın. Visual Studio IDE'de, Belirli Varsayılan Kitaplıkları Yoksay özelliğindeki kitaplıkları noktalı virgülle yoksaymak için ayırın.

Bu çalışma zamanı kitaplığını kullanmak için Bu kitaplıkları yoksay
Çok iş parçacıklı (libcmt.lib) msvcrt.lib; libcmtd.lib; msvcrtd.lib
DLL kullanılarak çoklu iş parçacığı kullanımı (msvcrt.lib) libcmt.lib; libcmtd.lib; msvcrtd.lib
Çok İş Parçacıklı Hata Ayıklama (libcmtd.lib) libcmt.lib; msvcrt.lib; msvcrtd.lib
DLL kullanarak Çoklu İş Parçacığı Ayıklama (msvcrtd.lib) libcmt.lib; msvcrt.lib; libcmtd.lib

Örneğin, bu uyarıyı aldıysanız ve çalışma zamanı kitaplıklarının hata ayıklama olmayan DLL sürümünü kullanan bir yürütülebilir dosya oluşturmak istiyorsanız, bağlayıcı ile aşağıdaki seçenekleri kullanabilirsiniz:

/NODEFAULTLIB:libcmt.lib /NODEFAULTLIB:libcmtd.lib /NODEFAULTLIB:msvcrtd.lib