Erreur des outils Éditeur de liens LNK1179
fichier incorrect ou endommagé : dupliquer COMDAT 'filename'
Un module objet contient deux ou plusieurs COMDAT portant le même nom.
Cette erreur peut être due à l’utilisation de /H, qui limite la longueur des noms externes et /Gy, qui package les fonctions dans les COMDAT.
Exemple
Dans le code suivant, function1
et function2
sont identiques dans les huit premiers caractères. La compilation avec /Gy et /H8 génère une erreur de lien.
void function1(void);
void function2(void);
int main() {
function1();
function2();
}
void function1(void) {}
void function2(void) {}