Я уже скачал, скомпилировал и связал каждую библиотеку, которая нужна проекту, но я У меня возникли проблемы с конкретным: 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