Russian Qt Forum

Qt => Установка, сборка, отладка, тестирование => Тема начата: Slim_d0g от Май 03, 2011, 22:50



Название: Проблема использования Qt+STL [Solved]
Отправлено: Slim_d0g от Май 03, 2011, 22:50
Всем привет!
Я только недавно начал осваивать Qt и появилась проблемка...
Я скомпилил Qt под VS2010 как Aleksei писал в теме: http://www.prog.org.ru/topic_15051_0.html
Создал небольшое приложение, которое отлично компилится, но теперь мне необходимо использовать функции из либы, которая использует STL, но если в проекте объявляю переменную типа std::string, линкер начинает ругаться:

3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in QtCored.lib(qglobal.obj)
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) already defined in QtCored.lib(qglobal.obj)
3>msvcprtd.lib(MSVCP100D.dll) : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) already defined in QtCored.lib(qglobal.obj)

Насколько я понимаю, по дефолту Qt собирается с поддержкой STL и поэтому мне непонятно, откуда эти ошибки и как их побороть.
Заранее спасибо =)


Название: Re: Проблема использования Qt+STL
Отправлено: Slim_d0g от Май 04, 2011, 14:22
Разобрался... в настройках моего проекта вместо /MT стояло /MD.
Теперь все работает =)