Опять Boost + stlport + линковка
От: Аноним  
Дата: 17.08.06 07:25
Оценка:
Собираю небольшой проектик хочу чтобы статически линковался 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

Где вообще можно подробно почитать про решение этой проблемы


Спасибо за ответы
Re: Опять Boost + stlport + линковка
От: dr.Chaos Россия Украшения HandMade
Дата: 17.08.06 07:56
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Собираю небольшой проектик хочу чтобы статически линковался 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.
Побеждающий других — силен,
Побеждающий себя — Могущественен.
Лао Цзы
Re[2]: Опять Boost + stlport + линковка
От: Аноним  
Дата: 17.08.06 08:15
Оценка: +1
Здравствуйте, 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

А>Где вообще можно подробно почитать про решение этой проблемы



А>Спасибо за ответы
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.