| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Общие вопросы > исключение msvcrtd.dll |
| Автор: AxNe0 28.6.2006, 17:45 |
| Всем привет! Есть проблема - программа при запуске требует библиотеку msvcrtd.dll. Как можно исправить код, чтобы программа работала без всех библиотек? |
| Автор: NiJazz 28.6.2006, 20:02 |
| AxNe0, в свойствах проекта: С/С++ -> Code Generation -> Runtime library: выстави значение, аналогичное старому, но без DLL. То есть если было, к примеру, Multi-threaded DLL, то сделай Multi-threaded. Это для VC++ 7.Х Не забудь написать, помогло или нет. |
| Автор: AxNe0 29.6.2006, 10:13 |
| Прошу прощения, забыл указать среду - у меня VC++ 6.0. Этот способ не помог |
| Автор: NiJazz 29.6.2006, 10:21 |
| AxNe0, попробуй выставить Multi-threaded. Возможно, твоё приложение многопоточное, а ты используешь не тот рантайм. |
| Автор: Earnest 29.6.2006, 13:43 |
| По-моему, это библиотека от debug-версии. Скомпилируй релиз. |
| Автор: bel_nikita 29.6.2006, 17:04 |
| AxNe0, копай в сторону Link/Project Options: /nodefaultlib:"msvcrtd.lib" Еще могешь прописать /VERBOSE и увидишь все либы используемые проектом |
| Автор: AxNe0 30.6.2006, 11:55 | ||
При попытке создания релиза - не хватает библиотеки nafxcw.lib, после того, как поставил ее, появляются ошибки:
bel_nikita, /nodefaultlib:"msvcrtd.lib" тоже не помогает |
| Автор: NiJazz 30.6.2006, 12:04 |
| Говорю еще раз: выстави Multi-threaded! |
| Автор: AxNe0 30.6.2006, 12:19 |
| Сорри, вначале, когда поставил - почему-то не работало, сейчас вродь как работает, но еще проверить надо бы Добавлено @ 12:31 теперь при запуске на компе без визуала, требуется библиотека MFC42D.DLL, как можно от этой "гадости" избавиться? PS В Project Settings стоит "Not Using MFC"... |
| Автор: bel_nikita 30.6.2006, 14:17 | ||
Походу никак. скорее всего сторонняя либа цепляет MFC42D.DLL. Посмотри внимательно, чтобы проект в релизе подключал релизные либы, а в дебаге - дебажные. |
| Автор: Earnest 30.6.2006, 15:56 |
| Именнно, MFC42D.DLL - то опять debug-библиотека. Single-thread, Multithread - неважно, главное, чтобы все используемые библиотеки использовали одну модель. Опцию Not Using MFC лучше не ставить, она годится только если ты вообще не используешь DLL - иначе правильную версию CRT не подключишь. Выбери Use MFC as Multithread DLL (или Single Thread, в зависимости от потребностей). Кода в приложение это тебе не добавит, а релизные MFC-библиотеки обычно в Windows уже есть. |
| Автор: 0x07L 30.6.2006, 20:15 |
| |
| Автор: En_t_end 30.6.2006, 20:32 |
| Earnest, не скажи. |
| Автор: 0x07L 1.7.2006, 18:53 |
| Earnest, очередной раз большое спасибо! |
| Автор: AxNe0 3.7.2006, 10:22 |
| Всем большое спасибо! |