Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Приложение с libcurl.dll не работает без VS2008, libcurl.dll зависит от MSVCR90.dll 
V
    Опции темы
ZVano
Дата 20.4.2011, 17:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 11.12.2006
Где: Украина, Кривой Р ог

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



Написал программу, которая использует в работе libcurl.dll
Работает только на компьютерах с установленой "Microsoft Visual C++ 2008 Redistributable Package".

Если пакет не установлен, то при запуске программы получаю ошибки в журнале "Система" ОС:
Код

Ошибка 1
Всплывающее окно приложения: Updater.exe - Ошибка приложения : Ошибка при инициализации приложения (0xc0150002). Для выхода из приложения нажмите кнопку "ОК". 

Ошибка 2
Generate Activation Context завершилась не удачно для C:\MyApp\bin\CURLLIB.DLL. Соответствующее сообщение об ошибке: Операция успешно завершена.

Ошибка 3
Resolve Partial Assembly завершилась не удачно для Microsoft.VC90.CRT. Соответствующее сообщение об ошибке: Указанная совокупность не установлена в системе.

Ошибка 4
Зависимая совокупность Microsoft.VC90.CRT не может быть найдена, последняя ошибка Указанная совокупность не установлена в системе.


В зависимостях нашел ссылку на MSVCR90.dll, которая устанавливается с "Microsoft Visual C++ 2008 Redistributable Package".
Попытка подложить к программе "MSVCR90.dll" ничего не дала.


Вопросы:
1. В чем причина?
2. Почему программа не кушает подложеную "MSVCR90.dll"?
3. Как побороть проблемму без установки пакета?
4. Уйдет ли зависимость от "MSVCR90.dll", если скомпилировать "libcurl.dll" из исходников в CodeGear Builder 2010?


Это сообщение отредактировал(а) ZVano - 20.4.2011, 17:56


--------------------
НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению.
Гуглим "Как правильно задавать вопросы"
PM MAIL Skype   Вверх
ZVano
  Дата 20.4.2011, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 11.12.2006
Где: Украина, Кривой Р ог

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



Отвечу сам себе:
4. Да, зависимость ушла. 
Скачал исходники с URL
Скомпилил командой make -f Makefile.b32
Подложил dll и lib-файл в проект.
Обновил заголовочные файлы curl в проекте.
Скомпилил проект.

Все работает. Не требуется никаких M$$ких пакетов.

Вывод: M$$$кие мудаки активно распространяют свой гребаный "Microsoft Visual C++ XXXX Redistributable Package" за счет других разработчиков.
Встроили в свою MSVCR**.dll какую-то проверку манифеста, п%%%сы. Без корректной установки (или ломания) эта библиотека работать не будет.
Эмоции хлещут через край.



Это сообщение отредактировал(а) ZVano - 21.4.2011, 13:00


--------------------
НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению.
Гуглим "Как правильно задавать вопросы"
PM MAIL Skype   Вверх
xvr
Дата 21.4.2011, 16:20 (ссылка) |   (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 7046
Регистрация: 28.8.2007
Где: Дублин, Ирландия

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



Цитата(ZVano @  20.4.2011,  18:27 Найти цитируемый пост)
Вывод: M$$$кие мудаки активно распространяют свой гребаный "Microsoft Visual C++ XXXX Redistributable Package" за счет других разработчиков.

От чего эмоции? MS с тебя денег запросила за "Microsoft Visual C++ XXXX Redistributable Package"? Для справки - этот самый пакет и предназначен для того, что бы программы, собранные в VS2008 с библиотеками в DLL могли работать.
Не хотите DLL - линкуйте проекты со статическими библиотеками

Если же вам нужна DLL для использования в Bulder'е, то логично ее собирать в Builder'е, не находите?  smile 

PM MAIL   Вверх
borisbn
Дата 21.4.2011, 18:31 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(xvr @  21.4.2011,  16:20 Найти цитируемый пост)
Если же вам нужна DLL для использования в Bulder'е, то логично ее собирать в Builder'е, не находите?

не нахожу. Оптимизатор в Builder'е (какбэ это помягче выразиться) плохой, поэтому сборка dll-ки в студии и использование в BCB (для меня, например) дело обыденное

ZVano, при сборке библиотеки в проекте можно указать - Use MFC in a Static Library


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
ZVano
Дата 22.4.2011, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 11.12.2006
Где: Украина, Кривой Р ог

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



Цитата(xvr @  21.4.2011,  16:20 Найти цитируемый пост)
От чего эмоции?

Потому что они встроили в библиотеку искуственную проверку (проверку манифеста). 
С этой проверкой недостаточно иметь в системе нужную dll - нужна корректная установка всего пакета.
Зачем они это сделали? 

IMXO: Порядочные люди так не поступают.


--------------------
НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению.
Гуглим "Как правильно задавать вопросы"
PM MAIL Skype   Вверх
borisbn
Дата 22.4.2011, 09:28 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


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

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



Цитата(ZVano @  22.4.2011,  09:19 Найти цитируемый пост)
Зачем они это сделали? 

Вполне логично сделали. Это если и не нормальный, но работающий выход из DLL hell

Цитата(ZVano @  22.4.2011,  09:19 Найти цитируемый пост)
IMXO: Порядочные люди так не поступают.

В "порядочном" билдере в нескольких версиях менеджер памяти называется borlandmm.dll. Теперь смотри, есть exe-шник, например 5-й версии билдера. Он требует borlandmm.dll от этой 5-й версии. Есть dll-ка, сделанная в 6-й версии билдера. Она требует borlandmm.dll от своей, 6-й версии. Это "порядочно" ?


--------------------
Женщины отличаются от программистов тем, что у них чары состоят из стрингов
PM MAIL Jabber   Вверх
ZVano
Дата 22.4.2011, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 259
Регистрация: 11.12.2006
Где: Украина, Кривой Р ог

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



Цитата(borisbn @  22.4.2011,  09:28 Найти цитируемый пост)
В "порядочном" билдере в нескольких версиях менеджер памяти называется borlandmm.dll. Теперь смотри, есть exe-шник, например 5-й версии билдера. Он требует borlandmm.dll от этой 5-й версии. Есть dll-ка, сделанная в 6-й версии билдера. Она требует borlandmm.dll от своей, 6-й версии. Это "порядочно" ?

Нет. Это вообще лажа.  smile 
Претензии к M$$ снимаются  smile 

Всем спасибо. Получены ответы на все заданые вопросы, и даже больше.

Это сообщение отредактировал(а) ZVano - 22.4.2011, 10:29


--------------------
НЕ ФЛУДИМ. Пользуемся кнопками "+" или "-" для выражения своего отношения к теме или сообщению.
Гуглим "Как правильно задавать вопросы"
PM MAIL Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


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

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


 




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


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

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