Как найти источник явно ошибочного LNK2005 (символ уже определен)?C++

Программы на C++. Форум разработчиков
Ответить Пред. темаСлед. тема
Anonymous
 Как найти источник явно ошибочного LNK2005 (символ уже определен)?

Сообщение Anonymous »

Я пытаюсь скомпилировать исходный код приложения, из файлов которого удалены библиотеки.
Я уже скачал, скомпилировал и связал каждую библиотеку, которая нужна проекту, но я У меня возникли проблемы с конкретным: crypto (https://www.cryptopp.com/).
Я получаю LNK2005 (уже определенный символ) при попытке компиляции. Точное сообщение об ошибке:

Error LNK2005 "public: __cdecl CryptoPP::Rijndael::Enc::Enc(void)"
(? ?0Enc@Rijndael@CryptoPP@@QEAA@XZ) уже определено в
cryptlib_5_65-v141-x64.lib(rijndael.obj) IGC.GameServer D:\MU
Online\IGCN_S9E2_Emu\source\GameServer\ PacketEncrypt.obj 1
Ошибка LNK1169, один или несколько многократно определенных символов
обнаружен IGC.GameServer D:\MU
Online\IGCN_S9E2_Emu\source\Output\IGC.GameServer \Release\IGC.GameServer.exe 1

Видимо компоновщик жалуется, что тип public: __cdecl CryptoPP::Rijndael::Enc::Enc( void) определяется дважды (в rijndael.obj — crypto lib — и в PacketEncrypt.obj — проекте, который я пытаюсь скомпилировать).
Я уже исправил LNK2005 много раз в прошлом, но на этот раз я просто не могу понять, что происходит.
Поскольку я не знаю, что может быть причиной этой ошибки, я не знаю чем именно поделиться здесь относительно кода. Ниже приведен код, который, я думаю, может помочь, но если вы чувствуете, что чего-то не хватает, вы можете запросить дополнительный код.
Объявление типа, определяемого дважды
Изображение

Проблемное объявление
Изображение

Если я прокомментирую две строки, выбранные во втором отпечатке (и, очевидно, обрезанные на них ссылки в коде), я могу без проблем скомпилировать проект.
Заранее спасибо.

Подробнее здесь: https://stackoverflow.com/questions/492 ... dy-defined
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Ошибка LNK2005: _DllMain@12 уже определен в MSVCRT.lib
    Anonymous » » в форуме C++
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Поиск ошибочного объекта JSON из массива JSON
    Anonymous » » в форуме JAVA
    0 Ответы
    2 Просмотры
    Последнее сообщение Anonymous
  • Конфликты символов (ошибка LNK2005 frexp уже определена в libmmt.lib(frexp_iface_c99.obj)) с компилятором Intel icx внут
    Anonymous » » в форуме C++
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • LNK2005, ошибка компоновщика «уже определенная ошибка» в MSVC2010
    Anonymous » » в форуме C++
    0 Ответы
    7 Просмотры
    Последнее сообщение Anonymous
  • Решение «Ошибка lnk2005: ... уже определено *.obj» из внешнего класса?
    Anonymous » » в форуме C++
    0 Ответы
    0 Просмотры
    Последнее сообщение Anonymous

Вернуться в «C++»