![]() |
|
|
![]()
|
|
| Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: нет Всего: -1 |
Привет всем,
есть в солюшене проект MFC DLL (с опцией Use MFC in a Shared DLL). Линкую статически эту длл в свой основной проект. В дебаг версии всё работает нормально, а вот в релизе ДЛЛ не грузится автоматически, ни InitInstance, ни сам конструктор вообще не вызываются. Т.е. я прописал в Additional dependenices свою дллку и в InitInstance этой дллки у меня должны выполняться определенные действия, так вот в релизе туда управление просто не передается. Пока сделал так:
т.е. в релизе линкую длл динамически, в этом случае InitInstance этой длл вызывается, всё работает как полагается. Но хотелось бы узнать, из-за чего в релизе длл сама не линкуется, если к ней не обращаться |
|||
|
||||
| Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: 87 Всего: 183 |
Депенденсов мало, чтобы библиотека автоматически грузилаь. Нужно, чтобы линкер ее действительно требовал - т.е. были к ней какие-то обращения из кода приложения или других загружаемых DLL. Почему она у тебя в дебаге грузится - непонятно, модет, есть какие-то вызовы, которые только в DEBUG?
А вообще, если DLL нужна только как доп. модуль, а не для разрешения ссылок, то самое то загружать ее через LoadLibrary. Можно, конечно, какой-то "левый" вызов сделать, типа InitMyLibrary, вызываемый из exe, но зачем? -------------------- ... |
|||
|
||||
| aram90 |
|
|||
|
Bug hunter Профиль Группа: Участник Сообщений: 17 Регистрация: 1.12.2008 Где: Yerevan, Armenia Репутация: нет Всего: 3 |
Думаю в релизе не грузится, потому что если нет обращений в библиотеку, то релиз не включает его вообще, даже в том
случае, если они есть в коде, но никогда не будут выполнены. |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |