VC2005: автономная debug-DLL ?
От: shvonder Россия  
Дата: 06.03.08 09:48
Оценка:
Не грузиться дебаговская версия DLL, сделанная в VS2005,
LoadLibrary возвращает 14001 ("приложение не установлено полностью, переустановите его бла-бла-бла..").
Может она использует какие-нить библиотеки от студии, которых ненаходит ? Если так, то как их влинковать в dll-ку ?
Re: VC2005: автономная debug-DLL ?
От: NikeByNike Россия  
Дата: 06.03.08 16:03
Оценка:
Здравствуйте, shvonder, Вы писали:

S>Не грузиться дебаговская версия DLL, сделанная в VS2005,

S>LoadLibrary возвращает 14001 ("приложение не установлено полностью, переустановите его бла-бла-бла..").
S>Может она использует какие-нить библиотеки от студии, которых ненаходит ? Если так, то как их влинковать в dll-ку ?

Как правило это msvc71(или 80)D.dll и иже с ней. Посмотри зависимости этой dll с помощью стандартной вижалковской утилиты: Depends.Exe
Для статической линковки — покопайся в настройках проекта.
Но вообще то использовать дебажные либы с обычной прогой — не очень хорошей стиль.
Нужно разобрать угил.
Re: VC2005: автономная debug-DLL ?
От: Vain Россия google.ru
Дата: 06.03.08 16:42
Оценка: 2 (1)
Здравствуйте, shvonder, Вы писали:

S>Не грузиться дебаговская версия DLL, сделанная в VS2005,

S>LoadLibrary возвращает 14001 ("приложение не установлено полностью, переустановите его бла-бла-бла..").
S>Может она использует какие-нить библиотеки от студии, которых ненаходит ? Если так, то как их влинковать в dll-ку ?
Только дебаговская?
У меня похожая проблема с exe была. Помогло ковыряние с манифестом в настройках проекта:
1. Configuration Properties->Manifest Tool->Input and Output->Input Resource Manifests=$(IntDir)\$(TargetFileName).embed.manifest.res
2. Configuration Properties->Manifest Tool->Command Line=/updateresource:$(TargetPath)
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: VC2005: автономная debug-DLL ?
От: shvonder Россия  
Дата: 07.03.08 08:57
Оценка:
Здравствуйте, NikeByNike, Вы писали:

NBN>Как правило это msvc71(или 80)D.dll и иже с ней. Посмотри зависимости этой dll с помощью стандартной вижалковской утилиты: Depends.Exe

NBN>Для статической линковки — покопайся в настройках проекта.
NBN>Но вообще то использовать дебажные либы с обычной прогой — не очень хорошей стиль.

Да, как это обычно бывает, я не первый . Копирование msvc[..]80D.dll,разумеется,не помогло и пришлось влинковать рантайм в мою DLL (заветный ключик /MTd).
Однако непонятно следующее: есть exe, не использующий манифесты (собран Delphi7), и есть DLL, загружающая другие DLL (MSVCR80D.dll, например) через манифест. Получается, что без статической линковки этих дополнительных DLL-ек не обойтись (WinXP)? Или как-то можно этот манифест к DLL прицепить ? Мой предыдущий компилятор обходился без мнифеста этого несчастного
Re[3]: VC2005: автономная debug-DLL ?
От: Vain Россия google.ru
Дата: 07.03.08 10:59
Оценка:
Здравствуйте, shvonder, Вы писали:

Или как-то можно этот манифест к DLL прицепить ?
->Здесь
Автор: Vain
Дата: 06.03.08
<-
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[3]: VC2005: автономная debug-DLL ?
От: MasterZiv СССР  
Дата: 08.03.08 19:57
Оценка:
shvonder пишет:

> <http://www.codeproject.com/KB/cpp/vcredists_x86.aspx&gt;,не помогло и

> пришлось влинковать рантайм в мою DLL (заветный ключик /MTd).

> через манифест. Получается, что без статической линковки этих

> дополнительных DLL-ек не обойтись (WinXP)? Или как-то можно этот

Если вы используете .DLL, то за очень редким исключением CRT тоже
должен быть в .DLL, так что статически линковать вам CRT скорее
всего нельзя (/MTd).
Posted via RSDN NNTP Server 2.1 beta
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.