Собираю небольшой проектик хочу чтобы статически линковался boost 1.32 + stlport 4.6.2 (VS6)
Так вот
скомпилировал добавил в либы
libboost_regex-vc6-mt-sgdp-1_32.lib stlport_vc6_stldebug_static.lib
Ну и соответственно получил
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj)
... поскипано .......
MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __itoa already defined in LIBCMTD.lib(xtoa.obj)
LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
Это понятное дело стоит добавть для игнорирования библиотеку LIBCMTD.lib
Делаю получаю
stlport_vc6_stldebug_static.lib(fstream.obj) : error LNK2001: unresolved external symbol ___pioinfo
Вот мне и интересно что же стоит предпринять для решения этой проблемы видимо в MSVCRTD.lib этой функции
Волшебный ключик /Zl не решил проблемы
выкатлось вот такое безобразие
LINK : warning LNK4049: locally defined symbol "_memmove" imported
LINK : warning LNK4049: locally defined symbol "__assert" imported
LINK : warning LNK4049: locally defined symbol "_malloc" imported
LINK : warning LNK4049: locally defined symbol "_free" imported
LINK : warning LNK4049: locally defined symbol ""public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z)" imported
LINK : warning LNK4049: locally defined symbol ""public: __thiscall exception::exception(class exception const &)" (??0exception@@QAE@ABV0@@Z)" imported
LINK : warning LNK4049: locally defined symbol "__itoa" imported
Settings.obj : error LNK2001: unresolved external symbol __imp__itoa
OLDNAMES.lib(itoa.obi) : error LNK2001: unresolved external symbol __imp__itoa
Где вообще можно подробно почитать про решение этой проблемы
Здравствуйте, Аноним, Вы писали:
А>Собираю небольшой проектик хочу чтобы статически линковался boost 1.32 + stlport 4.6.2 (VS6) А>Так вот А>скомпилировал добавил в либы А>libboost_regex-vc6-mt-sgdp-1_32.lib stlport_vc6_stldebug_static.lib
А>Ну и соответственно получил А>LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj) А>... поскипано ....... А>MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __itoa already defined in LIBCMTD.lib(xtoa.obj) А>LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
Подобные ошибки у меня вылазили при сборке wxWidgets. Правда подобная проблема там в доках описана и заключалась она в несоответствии версий рантаймов. Я слинковал рантайм динамически.
Еще есть вариант что просто не указал какую-то опцию при сборке буста, там, по-моему был ключ который явнозадает что используешь STLPort.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Здравствуйте, dr.Chaos, Вы писали:
DC>Подобные ошибки у меня вылазили при сборке wxWidgets. Правда подобная проблема там в доках описана и заключалась она в несоответствии версий рантаймов. Я слинковал рантайм динамически.
DC>Еще есть вариант что просто не указал какую-то опцию при сборке буста, там, по-моему был ключ который явнозадает что используешь STLPort.
Да действительно Когда я переключил Debug Multithreded Dll на Debug Multithreded у меня все заработало без лишнего шаманства
Я как понял первый это вариант для динамической линковки а второй для статической линковки
Re: Опять Boost + stlport + линковка
От:
Аноним
Дата:
20.05.09 08:43
Оценка:
Здравствуйте, Аноним, Вы писали:
А>Собираю небольшой проектик хочу чтобы статически линковался boost 1.32 + stlport 4.6.2 (VS6) А>Так вот А>скомпилировал добавил в либы А>libboost_regex-vc6-mt-sgdp-1_32.lib stlport_vc6_stldebug_static.lib
А>Ну и соответственно получил А>LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj) А>... поскипано ....... А>MSVCRTD.lib(MSVCRTD.dll) : error LNK2005: __itoa already defined in LIBCMTD.lib(xtoa.obj) А>LINK : warning LNK4098: defaultlib "MSVCRTD" conflicts with use of other libs; use /NODEFAULTLIB:library
А>Это понятное дело стоит добавть для игнорирования библиотеку LIBCMTD.lib А>Делаю получаю
А>stlport_vc6_stldebug_static.lib(fstream.obj) : error LNK2001: unresolved external symbol ___pioinfo
А>Вот мне и интересно что же стоит предпринять для решения этой проблемы видимо в MSVCRTD.lib этой функции
А>Волшебный ключик /Zl не решил проблемы А>выкатлось вот такое безобразие А>LINK : warning LNK4049: locally defined symbol "_memmove" imported А>LINK : warning LNK4049: locally defined symbol "__assert" imported А>LINK : warning LNK4049: locally defined symbol "_malloc" imported А>LINK : warning LNK4049: locally defined symbol "_free" imported А>LINK : warning LNK4049: locally defined symbol ""public: int __thiscall type_info::operator==(class type_info const &)const " (??8type_info@@QBEHABV0@@Z)" imported А>LINK : warning LNK4049: locally defined symbol ""public: __thiscall exception::exception(class exception const &)" (??0exception@@QAE@ABV0@@Z)" imported А>LINK : warning LNK4049: locally defined symbol "__itoa" imported А>Settings.obj : error LNK2001: unresolved external symbol __imp__itoa А>OLDNAMES.lib(itoa.obi) : error LNK2001: unresolved external symbol __imp__itoa
А>Где вообще можно подробно почитать про решение этой проблемы