Проект COM-dll, в debug собирается, в release min size не собирается. MSDN сказал что где-то вызываю функцию требующую CRT. Эксперименты показали, что дело в STL (пользуюсь list'ом и несколькими функциями из algorithm).
Пока я просто убрал _ATL_MIN_CRT. А есть какие-нить способы заставить STL без CRT-фунций?
PS: Вообще, для меня это как-то странно -- где там CRT нужны??? Ну мож в std::string, ну дык я его и не использую.
Наука изощряет ум; ученье вострит память.
(c) Козьма Прутков
ZAMUNDA пишет:
> Проект COM-dll, в debug собирается, в release min size не собирается. > MSDN сказал что где-то вызываю функцию требующую CRT. Эксперименты > показали, что дело в STL (пользуюсь list'ом и несколькими функциями из > algorithm). > > Пока я просто убрал _ATL_MIN_CRT. А есть какие-нить способы заставить > STL без CRT-фунций?
Чтоб целиком — точно нет. Пару функций из algorithm — скорее всего
можно. list — скорее нет чем да, там наверняка исключения используются.
> PS: Вообще, для меня это как-то странно -- где там CRT нужны??? Ну мож в > std::string, ну дык я его и не использую.
new/delete, исключения.
Posted via RSDN NNTP Server 2.1 beta
Одним из 33 полных кавалеров ордена "За заслуги перед Отечеством" является Геннадий Хазанов.
Здравствуйте, ZAMUNDA, Вы писали:
ZAM>Проект COM-dll, в debug собирается, в release min size не собирается. MSDN сказал что где-то вызываю функцию требующую CRT. Эксперименты показали, что дело в STL (пользуюсь list'ом и несколькими функциями из algorithm).
ZAM>Пока я просто убрал _ATL_MIN_CRT. А есть какие-нить способы заставить STL без CRT-фунций?
ZAM>PS: Вообще, для меня это как-то странно -- где там CRT нужны??? Ну мож в std::string, ну дык я его и не использую.
Попробуйте определить
#undef _STD_USING
#undef _GLOBAL_USING
перед включением хидеров STL. Это успокоит компайлер, но может рухнуть рантайм, дальше смотрите что там реально нужно. Я в своём проекте (CRT по ряду причин нельзя), vector и list после некоторого траха вроде бы заюзал... но потом всё равно плюнул и сделал без них в C-стиле, получилось гораздо лучше
Здравствуйте, ZAMUNDA, Вы писали:
ZAM>Пока я просто убрал _ATL_MIN_CRT. А есть какие-нить способы заставить STL без CRT-фунций?
написал бы, что именно требуется и где, было бы проще советовать.
Здравствуйте, ZAMUNDA, Вы писали:
ZAM>Проект COM-dll, в debug собирается, в release min size не собирается. MSDN сказал что где-то вызываю функцию требующую CRT. Эксперименты показали, что дело в STL (пользуюсь list'ом и несколькими функциями из algorithm).
Была такая же трабла рещил что — Самый надёжный способ заменить коллекции на аналогичные (наверняка вкурсе тот же CList<>) ATL ные. Но ты наверняка их в алгоритмах используешь. Мне пришлось слегка перешаблонить алгоритмы под себя. работает норм.
P.S.
new\delete — Как и писали выше это юзают.
Так же статические и глобальные объекты C++ (но это до 8 версии ATL) некорректно удалялись.