Partager via


Erreur des outils Éditeur de liens LNK1107

fichier incorrect ou endommagé : impossible de lire à l’adresse d’emplacement

L’outil n’a pas pu lire le fichier. Le fichier peut être endommagé ou avoir un type de fichier inattendu.

Notes

LNK1107 peut se produire si un fichier transmis à l’éditeur de liens ou aux outils associés est endommagé. Pour résoudre ce problème, régénérez le fichier.

LNK1107 peut également se produire si votre processus de génération place un type de fichier inattendu dans la liste des fichiers passés à l’outil. L’éditeur de liens et les outils associés s’attendent à travailler sur des types de fichiers spécifiques. Par exemple, l’éditeur de liens peut utiliser des fichiers objet, des fichiers de bibliothèque, des ressources compilées et des manifestes pour créer un exécutable. Il ne peut pas créer d’exécutable à l’aide de fichiers sources ou de DLL. Pour résoudre ce problème, vérifiez que votre processus de génération transmet uniquement les types de fichiers attendus à l’outil. Par exemple, passez .obj, .libet .res les fichiers, et non .cpp, .hou .dll.rc les fichiers.

LNK1107 peut également se produire si vous tentez de transmettre un module exécutable .NET (A .dll ou .netmodule fichier créé avec /clr:noAssembly ou /NOASSEMBLY) à l’éditeur de liens. Pour résoudre ce problème, transmettez le fichier à la .obj place.

Exemple

Compilez cet exemple à l’aide de cl /clr /LD LNK1107.cpp:

// LNK1107.cpp
// compile with: /clr /LD
public ref class MyClass {
public:
   void Test(){}
};

Si vous spécifiez link LNK1107.dll ensuite sur la ligne de commande, vous obtiendrez LNK1107. Pour résoudre l’erreur, spécifiez link LNK1107.obj à la place.