Поделиться через


Ошибка средств компоновщика LNK1179

недопустимый или поврежденный файл: дубликат COMDAT "имя_файла"

Модуль объекта содержит два или более COMDAT с одинаковым именем.

Эта ошибка может быть вызвана с помощью /H, что ограничивает длину внешних имен и /Gy, которые пакеты выполняются в COMDATs.

Пример

В следующем коде function1 и function2 идентичны в первых восьми символах. Компиляция с помощью /Gy и /H8 приводит к ошибке ссылки.

void function1(void);
void function2(void);

int main() {
    function1();
    function2();
}

void function1(void) {}
void function2(void) {}