У меня есть довольно большой проект c/c++ CGI, который ссылается на несколько внешних библиотек (OpenSSL, FastCGI, Boost и т. д.). Я убедился, что каждая отдельная библиотека построена с ключом /MT, как и наш основной исполняемый проект. Однако при включении определенных заголовков (например, заголовка FastCGI) я получаю сотни ошибок компоновщика, таких как эти:
Ошибка 226 ошибка LNK1169: найден один или несколько многократно определенных символов
Ошибка 121 ошибка LNK2005: «защищено: __thiscall std::basic_ios >::basic_ios >(void)» (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ) уже определено в libfcgi.lib(libfcgi.dll) libcpmt.lib(cout.obj)
Ошибка 208 ошибка LNK2005: «защищено: __thiscall std::basic_ios >::basic_ios >(void)» (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ) уже определено в libfcgi.lib(libfcgi.dll) * библиотека CIL ( модуль CIL *)
Я снова посмотрел на libfcgi, проверил /MT и перекомпилировал безрезультатно. Я в недоумении... откуда берутся эти конфликты библиотек? Какой хороший способ устранить подобные ошибки компоновщика? (Визуальная студия 2012)