Модераторы: Daevaorn

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> DLL не работает на другом компьютере. 
:(
    Опции темы
RomanK
Дата 25.1.2012, 20:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Вобщем написал я DLL-ку. Она использует библиотеку CURL, которую я до написания DLL-ки успешно скачал с оф.сайта, скопилил, и каким-то образом установил на свой комп. smile Точно не знаю каким образом, но об этом ниже.

На моем компьютере все хорошо работает. Программа, использующая эту DLL, успешно запускается и работает. Когда переношу эту DLL-ку на другой комп, то она уже не подключается, так как нехватает каких-то компонентов. Я подозреваю, что CURL нету, ибо на свой комп, кроме него, я ничего "со стороны" не ставил.

Далее провел тест на своем компе, убрал libcurld.dll с папки Windows. Как и подозревал, на моем компе выскочила ошибка. Но когда я эту DLL-ку (libcurld.dll) перемещаю на другой комп и тоже сую в папку Windows, никаких положительных результатов не вижу. Таким образом не понимаю, как мне этот курл на другом компе установить... Простым копированием DLL в папку Windows не лечится. :(

Перерыл инет, и нашел такое решение:
Установить в параметрах проекта Runtime Library в /MT, таким образом все сторонние библиотеки должны зашится в мою DLL-ку тем самым увеличив ее объем.

Круто думаю я, делаю так как сказано, компилирую, а на выходе получаю мегамного ошибок линковки. smile 

Потом еще повозился какие то параметры позаменял и в итоге имеем вот это:

Цитата

Creating library D:\XXX\Debug\Project.lib and object D:\XXX\Debug\Project.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Amber.obj : error LNK2019: unresolved external symbol __free_dbg referenced in function "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy@?$_Yarn@D@std@@AAEXXZ)
1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __malloc_dbg
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg
1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype
1>libcpmtd.lib(stdthrow.obj) : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z)
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>D:\XXX\Debug\Project.dll : fatal error LNK1120: 4 unresolved externals


Каким образом это победить?

Делаю когда вот это: "use /NODEFAULTLIB:library", появляется еще больше ошибок, что ваще туши свет. smile 

Помогите пожалуйста. Спасибо.
PM MAIL WWW ICQ   Вверх
Estranged
Дата 25.1.2012, 23:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 158
Регистрация: 30.8.2010

Репутация: нет
Всего: 3



Скачайте Process Monitor. Запустите ее, потом запустите свое приложение. Вывалится с ошибкой, как я понял, это ошибка отсутсвия некой dll? Теперь находите в Process Monitor свой процесс, фильтруете по имени (правой кнопкой-Include-Process Name). Убеждаемся, что File System Activity кнопка нажата, теперь ищем строку с записью в колонке Result типа PATH NOT FOUND или NOT FOUND. Если после этого в логе видно, что процесс завершился, то скорее всего это из-за этой не найденной DLL. Если же эта dll прилинкована статически, т.е. явно загрузчик пишет, что dll такая вот не найдена. То задача еще проще. Можно использовать еще dependency walker. И есть подозрение, что именно Ваша DLL требует CRT, какую-нибудь MSVCRXX.DLL

Добавлено через 3 минуты и 30 секунд
И, судя по ошибкам, вы игнорируете CRT библиотеку.

Цитата(RomanK @  25.1.2012,  20:19 Найти цитируемый пост)
Круто думаю я, делаю так как сказано, компилирую, а на выходе получаю мегамного ошибок линковки.

Это какие именно?
PM MAIL   Вверх
Sahab
Дата 26.1.2012, 11:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 151
Регистрация: 1.9.2009

Репутация: нет
Всего: 3



http://msdn.microsoft.com/en-us/library/Aa267384

пересобрать все используемые либы заново с одинаковыми флагами.
PM MAIL   Вверх
boostcoder
Дата 26.1.2012, 11:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(Estranged @  25.1.2012,  23:44 Найти цитируемый пост)
судя по ошибкам, вы игнорируете CRT библиотеку

dll - законченный модуль. она не нуждается ни в чем при линковке с нею.

Добавлено через 2 минуты и 54 секунды
Цитата(Estranged @  25.1.2012,  23:44 Найти цитируемый пост)
есть подозрение, что именно Ваша DLL требует CRT, какую-нибудь MSVCRXX.DLL

да, возможно.
к примеру, если dll`ку собирали на win7 и пытаетесь использовать ее на winxp. побеждается статической линковкой зависимостей dll`ки.

Это сообщение отредактировал(а) boostcoder - 26.1.2012, 11:46
PM WWW   Вверх
baldina
Дата 26.1.2012, 14:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 3433
Регистрация: 5.12.2007
Где: Москва

Репутация: 32
Всего: 101



Цитата(boostcoder @  26.1.2012,  11:44 Найти цитируемый пост)
 если dll`ку собирали на win7 и пытаетесь использовать ее на winxp

это зависит от исходного кода, от компилятора/линкера и их параметров, но не от ОС.
PM MAIL   Вверх
RomanK
Дата 26.1.2012, 15:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Цитата

И есть подозрение, что именно Ваша DLL требует CRT, какую-нибудь MSVCRXX.DLL

Да!!! Запускал на компьютере dependency walker. Говорилось что нету такой библиотеки. MSVCR100D.dll вот такая.

Цитата

к примеру, если dll`ку собирали на win7 и пытаетесь использовать ее на winxp.

ИМЕННО ТАК! smile 

Цитата

побеждается статической линковкой зависимостей dll`ки.

Объясни плиз поподбробней. Не понимаю, что за статическая линковка зависимостей.

Может надо было компилить CURL тоеж с флагом Runtime Library = /MT ???
PM MAIL WWW ICQ   Вверх
RomanK
Дата 26.1.2012, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Что то накрутил, и теперь вот такие ошибки стали вылезать:

Цитата

1>------ Build started: Project: Project, Configuration: Debug Win32 ------
1>Build started 26.01.2012 17:59:13.
1>InitializeBuildStatus:
1>  Creating "Debug\Project.unsuccessfulbuild" because "AlwaysCreate" was specified.
1>ClCompile:
1>  All outputs are up-to-date.
1>  md5.cpp
1>  Project.cpp
1>  Generating Code...
1>ManifestResourceCompile:
1>  All outputs are up-to-date.
1>Project.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::operator<<(double)" (??6?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV01@N@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: class std::locale::facet * __thiscall std::locale::facet::_Decref(void)" (?_Decref@facet@locale@std@@QAEPAV123@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: class std::locale __thiscall std::ios_base::getloc(void)const " (?getloc@ios_base@std@@QBE?AVlocale@2@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: void __thiscall std::locale::facet::_Incref(void)" (?_Incref@facet@locale@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: virtual __thiscall std::basic_ios<char,struct std::char_traits<char> >::~basic_ios<char,struct std::char_traits<char> >(void)" (??1?$basic_ios@DU?$char_traits@D@std@@@std@@UAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: void __thiscall std::basic_ios<char,struct std::char_traits<char> >::setstate(int,bool)" (?setstate@?$basic_ios@DU?$char_traits@D@std@@@std@@QAEXH_N@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::rdbuf(void)const " (?rdbuf@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_streambuf@DU?$char_traits@D@std@@@2@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: virtual __thiscall std::basic_iostream<char,struct std::char_traits<char> >::~basic_iostream<char,struct std::char_traits<char> >(void)" (??1?$basic_iostream@DU?$char_traits@D@std@@@std@@UAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: virtual __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::~basic_streambuf<char,struct std::char_traits<char> >(void)" (??1?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Lock(void)" (?_Lock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEXXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Unlock(void)" (?_Unlock@?$basic_streambuf@DU?$char_traits@D@std@@@std@@UAEXXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::showmanyc(void)" (?showmanyc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::uflow(void)" (?uflow@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsgetn(char *,__int64)" (?xsgetn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPAD_J@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual __int64 __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::xsputn(char const *,__int64)" (?xsputn@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAE_JPBD_J@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual class std::basic_streambuf<char,struct std::char_traits<char> > * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setbuf(char *,__int64)" (?setbuf@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEPAV12@PAD_J@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sync(void)" (?sync@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEHXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: virtual void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::imbue(class std::locale const &)" (?imbue@?$basic_streambuf@DU?$char_traits@D@std@@@std@@MAEXABVlocale@2@@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __thiscall std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __thiscall std::_Container_base12::~_Container_base12(void)" (??1_Container_base12@std@@QAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: void __thiscall std::_Container_base12::_Orphan_all(void)" (?_Orphan_all@_Container_base12@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: char __thiscall std::basic_ios<char,struct std::char_traits<char> >::fill(void)const " (?fill@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEDXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: __thiscall std::basic_ios<char,struct std::char_traits<char> >::basic_ios<char,struct std::char_traits<char> >(void)" (??0?$basic_ios@DU?$char_traits@D@std@@@std@@IAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::eback(void)const " (?eback@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gptr(void)const " (?gptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbase(void)const " (?pbase@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pptr(void)const " (?pptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::egptr(void)const " (?egptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::gbump(int)" (?gbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setg(char *,char *,char *)" (?setg@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::epptr(void)const " (?epptr@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IBEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::pbump(int)" (?pbump@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXH@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD0@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: void __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::setp(char *,char *,char *)" (?setp@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEXPAD00@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: char * __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::_Pninc(void)" (?_Pninc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAEPADXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __thiscall std::basic_iostream<char,struct std::char_traits<char> >::basic_iostream<char,struct std::char_traits<char> >(class std::basic_streambuf<char,struct std::char_traits<char> > *)" (??0?$basic_iostream@DU?$char_traits@D@std@@@std@@QAE@PAV?$basic_streambuf@DU?$char_traits@D@std@@@1@@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: bool __thiscall std::ios_base:smile(void)const " (?good@ios_base@std@@QBE_NXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > & __thiscall std::basic_ostream<char,struct std::char_traits<char> >::flush(void)" (?flush@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEAAV12@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: void __thiscall std::basic_ostream<char,struct std::char_traits<char> >::_Osfx(void)" (?_Osfx@?$basic_ostream@DU?$char_traits@D@std@@@std@@QAEXXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: int __thiscall std::ios_base::flags(void)const " (?flags@ios_base@std@@QBEHXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: class std::basic_ostream<char,struct std::char_traits<char> > * __thiscall std::basic_ios<char,struct std::char_traits<char> >::tie(void)const " (?tie@?$basic_ios@DU?$char_traits@D@std@@@std@@QBEPAV?$basic_ostream@DU?$char_traits@D@std@@@2@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "protected: __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::basic_streambuf<char,struct std::char_traits<char> >(void)" (??0?$basic_streambuf@DU?$char_traits@D@std@@@std@@IAE@XZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __thiscall std::locale::id::operator unsigned int(void)" (??Bid@locale@std@@QAEIXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: static unsigned int __cdecl std::ctype<char>::_Getcat(class std::locale::facet const * *,class std::locale const *)" (?_Getcat@?$ctype@D@std@@SAIPAPBVfacet@locale@2@PBV42@@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __int64 __thiscall std::ios_base::width(void)const " (?width@ios_base@std@@QBE_JXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: __int64 __thiscall std::ios_base::width(__int64)" (?width@ios_base@std@@QAE_J_J@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sputc(char)" (?sputc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHD@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: bool __thiscall std::ctype<char>::is(short,char)const " (?is@?$ctype@D@std@@QBE_NFD@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::sgetc(void)" (?sgetc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: int __thiscall std::basic_streambuf<char,struct std::char_traits<char> >::snextc(void)" (?snextc@?$basic_streambuf@DU?$char_traits@D@std@@@std@@QAEHXZ) already defined in msvcprtd.lib(MSVCP100D.dll)
1>Project.obj : error LNK2005: "public: bool __thiscall std::basic_istream<char,struct std::char_traits<char> >::_Ipfx(bool)" (?_Ipfx@?$basic_istream@DU?$char_traits@D@std@@@std@@QAE_N_N@Z) already defined in msvcprtd.lib(MSVCP100D.dll)
1>     Creating library D:\XXX\Debug\Project.lib and object D:\XXX\Debug\Project.exp
1>LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
1>Project.obj : error LNK2019: unresolved external symbol __free_dbg referenced in function "private: void __thiscall std::_Yarn<char>::_Tidy(void)" (?_Tidy@?$_Yarn@D@std@@AAEXXZ)
1>libcpmtd.lib(xdebug.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __free_dbg
1>libcpmtd.lib(xdebug.obj) : error LNK2019: unresolved external symbol __malloc_dbg referenced in function "void * __cdecl operator new(unsigned int,struct std::_DebugHeapTag_t const &,char *,int)" (??2@YAPAXIABU_DebugHeapTag_t@std@@PADH@Z)
1>libcpmtd.lib(locale0.obj) : error LNK2001: unresolved external symbol __malloc_dbg
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __malloc_dbg
1>libcpmtd.lib(_tolower.obj) : error LNK2019: unresolved external symbol __calloc_dbg referenced in function __Getctype
1>libcpmtd.lib(stdthrow.obj) : error LNK2019: unresolved external symbol __CrtDbgReportW referenced in function "void __cdecl std::_Debug_message(wchar_t const *,wchar_t const *,unsigned int)" (?_Debug_message@std@@YAXPB_W0I@Z)
1>libcpmtd.lib(xmbtowc.obj) : error LNK2001: unresolved external symbol __CrtDbgReportW
1>D:\XXX\Debug\Project.dll : fatal error LNK1120: 4 unresolved externals
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:03.88
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

PM MAIL WWW ICQ   Вверх
boostcoder
Дата 26.1.2012, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(baldina @  26.1.2012,  14:53 Найти цитируемый пост)
но не от ОС

ну ты чё?!

msvcrt.dll на win7 и на winxp имеют разные списки экспорта, ибо микрософт начал урезать экспортируемые имена готовясь к выходу win8.
PM WWW   Вверх
RomanK
Дата 26.1.2012, 19:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Цитата(boostcoder @  26.1.2012,  19:21 Найти цитируемый пост)
msvcrt.dll на win7 и на winxp имеют разные списки экспорта, ибо микрософт начал урезать экспортируемые имена готовясь к выходу win8. 

И что делать ?

Добавлено через 54 секунды
Скажите, есть смысл компилить CURL с параметром Runtime Library = /MT, а потом собирать мой с таким же параметром? или нет?
PM MAIL WWW ICQ   Вверх
boostcoder
Дата 26.1.2012, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(RomanK @  26.1.2012,  19:22 Найти цитируемый пост)
И что делать ?

таскать используемую CRTтишку с прогой.


Цитата(RomanK @  26.1.2012,  19:22 Найти цитируемый пост)
Скажите, есть смысл компилить CURL с параметром Runtime Library = /MT, а потом собирать мой с таким же параметром? или нет?

по микрософт компилятору я вряд ли что умное скажу smile
PM WWW   Вверх
RomanK
Дата 26.1.2012, 19:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Цитата(boostcoder @  26.1.2012,  19:28 Найти цитируемый пост)
таскать используемую CRTтишку с прогой.

Что такое CRTтишка? smile 
PM MAIL WWW ICQ   Вверх
boostcoder
Дата 26.1.2012, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


pattern`щик
****


Профиль
Группа: Завсегдатай
Сообщений: 5458
Регистрация: 1.4.2010

Репутация: 49
Всего: 110



Цитата(RomanK @  26.1.2012,  19:32 Найти цитируемый пост)
Что такое CRTтишка?

msvcrt.dll

Добавлено через 6 минут и 8 секунд
по моему, мы отклонились от сути топика...
PM WWW   Вверх
RomanK
Дата 26.1.2012, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Вобщем я вроде разобрался по теме топика.

Скачал заного новый CURL от января сего года. Скомпилил его заного.

Далее создал новый проект. Добавил туда все исходники своей библиотеки. Прописал где надо брать CURL-овские библиотеки. Выставил параметр Runtime Library = /MT и попробовал скомпильнул. Все сделалось без единой ошибки. smile Работает на трех компах. Два с Windows 7, один с XP.

Единственное, что надо таскать с проектом две DLL. Одну мою, а другую - libcurl.dll. Впринципе не особо геморой, но все же хотелось бы замутить все в одной DLL-ке. Может разбирусь на досуге. Или может кто здесь подскажет?
PM MAIL WWW ICQ   Вверх
Modul
Дата 26.1.2012, 21:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 238
Регистрация: 17.2.2006

Репутация: нет
Всего: нет



Цитата(RomanK @  26.1.2012,  20:26 Найти цитируемый пост)
Единственное, что надо таскать с проектом две DLL. Одну мою, а другую - libcurl.dll. Впринципе не особо геморой, но все же хотелось бы замутить все в одной DLL-ке. Может разбирусь на досуге. Или может кто здесь подскажет?



А почему две ?

Добавлено через 6 минут и 41 секунду
 Видимо 2 DLL правильно: 1 - для CURL, 2 - для проекта

Пиши Рома !
--------------------
I'll be back !
PM MAIL   Вверх
RomanK
Дата 26.1.2012, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 81
Регистрация: 25.6.2005
Где: Россия, Выборг

Репутация: нет
Всего: 2



Цитата(Modul @  26.1.2012,  21:57 Найти цитируемый пост)
Видимо 2 DLL правильно: 1 - для CURL, 2 - для проекта

Правильно! smile 


Цитата(Modul @  26.1.2012,  21:57 Найти цитируемый пост)
Пиши Рома ! 

Че писать? smile
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++:Общие вопросы"
Earnest Daevaorn

Добро пожаловать!

  • Черновик стандарта C++ (за октябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика(4.4мб).
  • Черновик стандарта C (за сентябрь 2005) можно скачать с этого сайта. Прямая ссылка на файл черновика (3.4мб).
  • Прежде чем задать вопрос, прочтите это и/или это!
  • Здесь хранится весь мировой запас ссылок на документы, связанные с C++ :)
  • Не брезгуйте пользоваться тегами [code=cpp][/code].
  • Пожалуйста, не просите написать за вас программы в этом разделе - для этого существует "Центр Помощи".
  • C++ FAQ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Earnest Daevaorn

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C/C++: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0977 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.