Microsoft hesabıyla oturum açın
Oturum açın veya hesap oluşturun.
Merhaba,
Farklı bir hesap seçin.
Birden çok hesabınız var
Oturum açmak istediğiniz hesabı seçin.

Microsoft İç Destek Bilgileri

# Hata: 101959 (Visual Studio)

Özet

Microsoft Visual C++ Derleyici ve bağlayıcı 64-bit sürümünü kullanarak bir DLL oluştururken, daha fazla zaman vermek için bir işlev bildirdiyseniz Linker Hata numarası LNK4197 alabilirsiniz.

Belirtiler

Bağlayıcı çıktı aşağıdakine benzer olabilir:

C:\>link /NOLOGO /def:Sample.def /pdb:Sample.pdb /out:Sample.dll  Sample.objSample.obj : warning LNK4197: export 'DllSample' specified multiple times; using first specification   Creating library Sample.lib and object Sample.exp 

Neden

Daha fazla zaman vermek için bir işlev bildirilmiş Linker Hata numarası LNK4197 üretilir. Bir işlev dışa aktarmak için aşağıdaki yollardan biriyle bildirilmiþtir:

  • İşlev C kaynak dosyanızdaki __declspec(dllexport) anahtar sözcüğü kullanılarak bildirilir:

    __declspec(dllexport) int DllSample() {   return 42;}
  • İşlev bir modül tanımı kullanılarak bildirilen (. DEF) dosyası:

    EXPORTS   DllSample

Bu bağlayıcı hatanın sık karşılaşılan zaman __declspec(dllexport) anahtar ve bir. DEF dosyası aynı işlev adı tanımlamak için kullanılan bir. DLL projesi.

Çözüm

Bu davranışı gidermek için dışarı aktarılan işlevler yalnızca bir kez __declspec(dllexport) anahtar sözcüğünü kullanarak veya kullanarak tanımlayan bir. DEF dosyası. Bu yöntemlerin her ikisi de kullanmayın.

Durum

Bu davranış normaldir.

Ek Bilgi

Daha fazla zaman vermek bir işlev bildirmenin 32-bit sürümlerinde Microsoft Windows C++ Derleyici ve bağlayıcı bu makalenin "Belirtiler" bölümünde açıklanan Linker Hata üretmeyebilir. Ancak, Microsoft 32-bit hem de 64-bit sürümlerinde Windows C++ Derleyici ve bağlayıcı işlevi dışarı yalnızca bir kez tanımlamak önerir.

Daha fazla yardıma mı ihtiyacınız var?

Daha fazla seçenek mi istiyorsunuz?

Abonelik avantajlarını keşfedin, eğitim kurslarına göz atın, cihazınızın güvenliğini nasıl sağlayacağınızı öğrenin ve daha fazlasını yapın.

Topluluklar, soru sormanıza ve soruları yanıtlamanıza, geri bildirimde bulunmanıza ve zengin bilgiye sahip uzmanlardan bilgi almanıza yardımcı olur.

Bu bilgi yararlı oldu mu?

Dil kalitesinden ne kadar memnunsunuz?
Deneyiminizi ne etkiledi?
Gönder’e bastığınızda, geri bildiriminiz Microsoft ürün ve hizmetlerini geliştirmek için kullanılır. BT yöneticiniz bu verileri toplayabilecek. Gizlilik Bildirimi.

Geri bildiriminiz için teşekkürler!

×