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


Предупреждение средств компоновщика LNK4006

символ уже определен в объектном файле; второе определение пропускается

Указанный символ symbol, отображаемый в декорированном виде, был определен несколько раз. При появлении этого предупреждения symbol будет добавлен дважды, но использоваться будет только первая его форма.

Это предупреждение может возникать при попытке объединения двух библиотек импорта в одну.

Если производится перепостроение библиотеки времени выполнения C, это сообщение можно пропустить.

Возможные варианты исправления

  1. Указанный символ symbol может быть упакованной функцией, созданной при компиляции с параметром /Gy. Этот символ был включен в несколько файлов, но был изменен между компиляциями. Перекомпилируйте все файлы, включающие symbol.

  2. Указанный символ symbol может по-разному определяться в двух объектах-членах разных библиотек.

  3. Абсолютный символ мог быть определен дважды с разными значениями.

  4. Если сообщение об ошибке возникает при комбинировании библиотек, то это означает, что символ symbol уже существует в библиотеке, к которой осуществляется добавление.