![]() |
|
|
![]()
|
|
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 59 |
Имееется следующая архитектура
test.exe - испольняемый модуль plugin.dll - динамически загрудаемый модуль, который используется exe lib.dll - библиотека, импортирующая классы - статически линкуется с exe и dll. Используется stl С какими настройками нужно собрать все это, что бы не было проблем при освобожении памяти. Если lib делать как статическую библиотеку, то все работает без пробем. При использовании dll все тоже нормально работает, но при завершении программы выдается accsess violation при освобождении статических объектов -------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
Vyacheslav
Какая версия MSVC? В данной статье (http://rsdn.ru/article/cpp/stlproblem.xml) написано, что STL, поставляющася с VC5.0 и VC6.0 не может корректно работать в DLL. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
ИМХО, если проблема действительно в этом, то лучше уж другую STL взять. Есть же STLPort. В стороно дефолтной STL в VC6.0 всегда было очень много ругани.
-------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 59 |
Все решилось просто. У всех проектов нужно было в Use runtime library поставить Multithreaded Dll
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
| srd |
|
|||
![]() Нереварин ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 951 Регистрация: 30.8.2003 Где: Владивосток Репутация: 5 Всего: 49 |
Именно Multi-threaded DLL? Или надо, чтобы все модули линковались с одной и той же версией CRT?
Раньше я старался делать монолитные приложения, а сейчас свой проект хочу на несколько частей побить, вот боюсь граблей огрести. -------------------- Не смей читать мою подпись!!! |
|||
|
||||
| Vyacheslav |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2124 Регистрация: 25.3.2002 Где: Москва Репутация: нет Всего: 59 |
Все решилось именно установкой Multi-threaded DLL.
-------------------- С уважением, Вячеслав Ермолаев |
|||
|
||||
![]()
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Visual C++/MFC/WTL | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |