Compartilhar via


Erro das ferramentas de vinculador LNK1179

arquivo inválido ou corrompido: 'filename' de COMDAT duplicado

Um módulo de objeto contém dois ou mais COMDATs com o mesmo nome.

Esse erro pode ser causado pelo uso de /H, que limita o comprimento de nomes externos, e /Gy, que empacota funções em COMDATs.

Exemplo

No código a seguir, function1 e function2 são idênticos nos oito primeiros caracteres. A compilação com /Gy e /H8 produz um erro de link.

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

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

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