Ошибка средств компоновщика 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)