链接器工具错误 LNK1306
DLL 入口点函数无法管理;编译为原生
DllMain
无法编译为 MSIL;必须编译为原生。
若要解决此问题,请执行下列操作:
编译包含不带 /clr 的入口点的文件。
将入口点置于
#pragma unmanaged
节中。
有关详细信息,请参阅:
示例
下面的示例生成 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;
}
若要解决此问题,请不要使用 /clr 选项编译此文件,或使用 #pragma
指令将入口点定义放入非托管部分,如以下示例所示:
// 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)