Поиск:

Ответ в темуСоздание новой темы Создание опроса
> MFC DLL не грузится в релизе, (автоматически) 
:(
    Опции темы
Competitor
Дата 27.2.2009, 15:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Привет всем,
есть в солюшене проект MFC DLL (с опцией Use MFC in a Shared DLL).
Линкую статически эту длл в свой основной проект. В дебаг версии всё работает нормально, а вот в релизе ДЛЛ не грузится автоматически, ни InitInstance, ни сам конструктор вообще не вызываются. Т.е. я прописал в Additional dependenices свою дллку и в InitInstance этой дллки у меня должны выполняться определенные действия, так вот в релизе туда управление просто не передается.
Пока сделал так:
Код

int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct)
{
#ifndef _DEBUG
    ::LoadLibrary(_T("MyMFCDLL.dll"));
#endif

т.е. в релизе линкую длл динамически, в этом случае InitInstance этой длл вызывается, всё работает как полагается.
Но хотелось бы узнать, из-за чего в релизе длл сама не линкуется, если к ней не обращаться
PM MAIL WWW   Вверх
Earnest
Дата 27.2.2009, 17:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Экс. модератор
Сообщений: 5962
Регистрация: 17.6.2005
Где: Рязань

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



Депенденсов мало, чтобы библиотека автоматически грузилаь. Нужно, чтобы линкер ее действительно требовал - т.е. были к ней какие-то обращения из кода приложения или других загружаемых DLL. Почему она у тебя в дебаге грузится - непонятно, модет, есть какие-то вызовы, которые только в DEBUG? 
А вообще, если DLL нужна только как доп. модуль, а не для разрешения ссылок, то самое то загружать ее через LoadLibrary. Можно, конечно, какой-то "левый" вызов сделать, типа InitMyLibrary, вызываемый из exe, но зачем? 


--------------------
...
PM   Вверх
aram90
Дата 27.2.2009, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Bug hunter



Профиль
Группа: Участник
Сообщений: 17
Регистрация: 1.12.2008
Где: Yerevan, Armenia

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



Думаю в релизе не грузится, потому что если нет обращений в библиотеку, то релиз не включает его вообще, даже в том
случае, если они есть в коде, но никогда не будут выполнены.
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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