Chyba linkerů LNK1306
Funkci vstupního bodu knihovny DLL nelze spravovat; zkompilovat do nativního
DllMain
nelze kompilovat do knihovny MSIL; musí být zkompilován do nativního prostředí.
Řešení tohoto problému:
Zkompilujte soubor, který obsahuje vstupní bod bez /clr.
Vložte vstupní bod do oddílu
#pragma unmanaged
.
Další informace naleznete v tématu:
Příklad
Následující ukázka vygeneruje 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;
}
Pokud chcete tento problém vyřešit, nepoužívejte možnost /clr ke kompilaci tohoto souboru nebo použijte direktivu #pragma
k vložení definice vstupního bodu do nespravované části, jak je znázorněno v tomto příkladu:
// 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)