LNK1306 Kesalahan Alat Linker
Fungsi titik masuk DLL tidak dapat dikelola; kompilasi ke asli
DllMain
tidak dapat dikompilasi ke MSIL; itu harus dikompilasi ke asli.
Untuk mengatasi masalah ini,
Kompilasi file yang berisi titik masuk tanpa /clr.
Letakkan titik masuk di bagian
#pragma unmanaged
.
Untuk informasi selengkapnya, lihat:
Contoh
Sampel berikut menghasilkan LNK1306.
// LNK1306.cpp
// compile with: /clr /link /dll /entry:NewDllMain
// LNK1306 error expected
#include <windows.h>
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
Untuk memperbaiki masalah ini, jangan gunakan opsi /clr untuk mengkompilasi file ini, atau gunakan #pragma
direktif untuk menempatkan definisi titik masuk di bagian yang tidak dikelola seperti yang ditunjukkan dalam contoh ini:
// LNK1306fix.cpp
// compile with: /clr /link /dll /entry:NewDllMain
#include <windows.h>
#pragma managed(push, off)
int __stdcall NewDllMain( HINSTANCE h, ULONG ulReason, PVOID pvReserved ) {
return 1;
}
#pragma managed(pop)
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk