Господа,
забрал из VSS солюшен (из 5 проектов) для VS2010 и стал его собирать.
Увлекательный квест "собери меня" через неделю (с изменеием 32-64bit, дебага-недебага, и.т.п у самого проекта и требуемых внешних компонентов) привели к тому, что собралось 4 проекта из 5.
Пятый при сборке ругается однообразно: 1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in libcpmtd.lib(xlock.obj) 1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in libcpmtd.lib(xlock.obj) 1>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) already defined in libcpmtd.lib(stdthrow.obj)
и так далее.
Я пока не могу вникнуть в проблему. Основное мнение Гугла — что у какой то компоненты перепутаны варианты — static-non static и single thread-multithread. Но я не знаю, где это посмотреть, и как вообще систематически подходить к проблеме (а не типа "поменяю ка я тут конфигурацию с Release на Debug, вдруг да соберется")
К сожалению, объем кода большой, и детально разобраться что где подключается и используется — не представляется возможным.
Буду благодарен за советы.
Re: Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined libcp
Здравствуйте, SteeLHeaD, Вы писали:
SLH>Буду благодарен за советы.
Проблема проста, как и было сказано, в одном месте Multithread Dll в другом Multithread Static.
Искать довольно просто, просим у линкера детальную информацию: http://msdn.microsoft.com/en-us/library/wdsk6as6%28v=vs.110%29.aspx
Там все будет написано где кто и что ищет.
Здравствуйте, SteeLHeaD, Вы писали:
SLH>Господа, SLH>забрал из VSS солюшен (из 5 проектов) для VS2010 и стал его собирать. SLH>Увлекательный квест "собери меня" через неделю (с изменеием 32-64bit, дебага-недебага, и.т.п у самого проекта и требуемых внешних компонентов) привели к тому, что собралось 4 проекта из 5. SLH>Пятый при сборке ругается однообразно: 1>>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Lockit::~_Lockit(void)" (??1_Lockit@std@@QAE@XZ) already defined in libcpmtd.lib(xlock.obj) 1>>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Lockit::_Lockit(int)" (??0_Lockit@std@@QAE@H@Z) already defined in libcpmtd.lib(xlock.obj) 1>>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z) already defined in libcpmtd.lib(stdthrow.obj) SLH>и так далее. SLH>Я пока не могу вникнуть в проблему. Основное мнение Гугла — что у какой то компоненты перепутаны варианты — static-non static и single thread-multithread. Но я не знаю, где это посмотреть, и как вообще систематически подходить к проблеме (а не типа "поменяю ка я тут конфигурацию с Release на Debug, вдруг да соберется") SLH>К сожалению, объем кода большой, и детально разобраться что где подключается и используется — не представляется возможным. SLH>Буду благодарен за советы.
Я бы для начала убедился, что настройки Runtime одинаковые у всех проектов(C/C++/Code Generation/Runtime Library)
--
Не можешь достичь желаемого — пожелай достигнутого.
Re[2]: Linker error msvcprtd.lib(msvcp100d.dll) error lnk2005 already defined li
Здравствуйте, _NN_, Вы писали:
_NN>Здравствуйте, SteeLHeaD, Вы писали:
SLH>>Буду благодарен за советы.
_NN>Проблема проста, как и было сказано, в одном месте Multithread Dll в другом Multithread Static. _NN>Искать довольно просто, просим у линкера детальную информацию: http://msdn.microsoft.com/en-us/library/wdsk6as6%28v=vs.110%29.aspx _NN>Там все будет написано где кто и что ищет.
Спасибо! Помогло!
В принципе, я сам дурак — за пару дней игры в квест "собери меня" были внесены изменения, и ключевым моментом было то что из SVN надо было забрать последнюю копию.
Но все равно ключ /VERBOSE оказался ОЧЕНЬ полезен и именно из за него "консилиум педиаторов" смог понять, что дальше делать