Masuk dengan Microsoft
Masuk atau buat akun.
Halo,
Pilih akun lain.
Anda memiliki beberapa akun
Pilih akun yang ingin Anda gunakan untuk masuk.

Informasi Dukungan Internal Microsoft

BUG #: 101959 (Visual Studio)

Ringkasan

Ketika Anda membangun DLL dengan menggunakan versi 64-bit dari Microsoft Visual C++ Compiler dan Linker, Anda mungkin menerima Linker nomor galat LNK4197 jika fungsi telah dinyatakan ekspor lebih dari satu kali.

Gejala

Linker output mungkin mirip dengan berikut ini:

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 

Penyebab

Linker nomor galat LNK4197 yang dihasilkan saat fungsi telah dinyatakan ekspor lebih dari satu kali. Fungsi menyatakan ekspor di salah satu cara berikut:

  • Fungsi menyatakan dengan menggunakan kata kunci __declspec(dllexport) di file sumber C:

    __declspec(dllexport) int DllSample() {   return 42;}
  • Fungsi menyatakan menggunakan definisi modul (. Berkas DEF):

    EXPORTS   DllSample

Galat Linker ini mungkin terjadi paling sering ketika kata kunci __declspec(dllexport) kedua dan. DEF berkas yang digunakan untuk menetapkan nama fungsi yang sama di. Proyek DLL.

Pemecahan Masalah

Untuk mengatasi perilaku ini, tentukan diekspor fungsi hanya satu kali, dengan menggunakan kata kunci __declspec(dllexport) atau dengan menggunakan. DEF file. Jangan gunakan kedua metode ini.

Status

Perilaku ini merupakan bagian dari rancangan.

Informasi Selengkapnya

Menyatakan fungsi ekspor lebih dari satu kali mungkin tidak menghasilkan galat Linker yang dijelaskan di bagian "Gejala" dari artikel ini dalam versi 32-bit dari Microsoft Windows C++ Compiler dan Linker. Namun, Microsoft menyarankan Anda untuk menentukan fungsi ekspor hanya satu kali dalam versi 32-bit dan 64-bit Windows C++ Compiler dan Linker.

Perlu bantuan lainnya?

Ingin opsi lainnya?

Jelajahi manfaat langganan, telusuri kursus pelatihan, pelajari cara mengamankan perangkat Anda, dan banyak lagi.

Komunitas membantu Anda bertanya dan menjawab pertanyaan, memberikan umpan balik, dan mendengar dari para ahli yang memiliki pengetahuan yang luas.

Apakah informasi ini berguna?

Seberapa puaskah Anda dengan kualitas bahasanya?
Apa yang memengaruhi pengalaman Anda?
Dengan menekan kirim, umpan balik Anda akan digunakan untuk meningkatkan produk dan layanan Microsoft. Admin TI Anda akan dapat mengumpulkan data ini. Pernyataan Privasi.

Terima kasih atas umpan balik Anda!

×