Вместо создания 4 разных библиотек (одна для MT, MTd, MD, MDd ) я хочу создать библиотеку, которая не определяет свою зависимость от библиотеки времени выполнения C (CRT).
Я попытался передать параметр "/ c / Zl" компилятору vc10, а затем / NODEFAULTLIB команде lib. Позже, когда я использую такой lib, у меня все еще есть ошибки, когда я компилирую свою программу с переключателем, отличным от default / MT. например / MD вот несколько первых ошибок:
msvcprt.lib(MSVCP100.dll) : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct st
d::char_traits<char> >::operator<<(class std::basic_ostream<char,struct std::char_traits<char> > & (__cdecl*)(class std::basic_ostream<char,struct std::char_tra
its<char> > &))" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@P6AAAV01@AAV01@@Z@Z) already defined in lib.lib(lib.obj)
msvcprt.lib(MSVCP100.dll) : error LNK2005: "class std::basic_ostream<char,struct std::char_traits<char> > & __cdecl std::endl(class std::basic_ostream<char,stru
ct std::char_traits<char> > &)" (?endl@std@@YAAAV?$basic_ostream@DU?$char_traits@D@std@@@1@AAV21@@Z) already defined in lib.lib(lib.obj)
Можно ли создать статическую библиотеку (один .lib-файл), которая впоследствии может быть скомпилирована в конечных программах с помощью / MT, / MTd, / MD или / MDd?