Erreur des outils Éditeur de liens LNK1306
La fonction de point d’entrée DLL ne peut pas être gérée ; compiler en mode natif
DllMain
ne peut pas être compilé sur MSIL ; elle doit être compilée en mode natif.
Pour résoudre ce problème :
Compilez le fichier qui contient le point d’entrée sans /clr.
Placez le point d’entrée dans une
#pragma unmanaged
section.
Pour en savoir plus, consultez :
Exemple
L’exemple suivant génère 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;
}
Pour résoudre ce problème, n’utilisez pas l’option /clr pour compiler ce fichier, ou utilisez une #pragma
directive pour placer la définition du point d’entrée dans une section non managée, comme illustré dans cet exemple :
// 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)
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour