Есть например написанная на С программа которая собрана на w2k3 serv, которая под ХР выдаёт сабж Прога юзает функции библиотеки FMOD, но ведь это не суть важно, ведь это обычная библиотека? как я понимю всё дело именно в ос? что можно сделать что-бы собирать программы под другие версии вин которые будут гарантированно работать в свете данного вопроса? пожалуйста, любые соображения интересны спасибо за внимание
rain "Приложению не удалось запуститься, поскольку *****.dll не был найден. Повторная установка приложения может исправить эту проблему" Когда прога не находит dll, из которой импортируются функции, она и выдает такую байду. Скинь дллку туда и все.
не помню как дословно она говрит, но смысл такой. koderr в том то и проблема, что больше ничего не говорит, ессесно я бы догадался сделать это
Сйчас скомпилил Win32 Console в VS2005, перенес на чистую XPSP2 (чистую в смысле только поставил на vmware) Та же байда. Посмотрел в секции импорта: нужна msvcr80.dll Взял отсюда все, что было (C:\Program Files\Microsoft Visual Studio 8\VC\redist\amd64\Microsoft.VC80.CRT) и скопировал в директорию с прогой - запустилось. [add] У меня amd, есть еще папка x86 Если скопировать только msvcr80.dll, то не запустится Наверное, не все либы в импорт пихает?!
apple у меня в импорте MSVCR80D.dll сейчас не распологаю возможностью проверить, но кажется эта библа в директории с прогой, и прога всё равно не запускалась, возможно нужно всё скопровать из такой папки Можно ли как-нибудь указать студии что-бы она использовала более старые длл-ки?
У меня тоже, если приложение в Debug. C:\Program Files\Microsoft Visual Studio 8\VC\redist\Debug_NonRedist\amd64_или_x86\Microsoft.VC80.CRT_или_MFC http://www.sql.ru/forum/actualthread.aspx?tid=344059
apple пасиба [add] плохо только одно пухнет размер, почему-бы майкрософту не сделать функцию использования старых длл и всё ?
Да. Вот еще. Если приложение собрано в Debug - msvcr80D.dll, в Release - msvcr80.dll!!! Пухнет? А если человек пишет под NET3.0, то пухнет на 50 метров... Это они еще с++ "пожалели".
угу, это ж твоём линке есть %) и всё-таки меня терзают сомнения, что можно не сильно извратясь (LoadLib\GetProcAddr) юзать в проэктах на си какие угодно старые библиотеки
дело в том что msvcr80.dll - непростая библа она требует манифеста для использования (MSVS2005 его добавляет) и поэтому проблема простым копированием не решается Варианты: 1)Использовать статическую компоновку 2)Вырезать манифесты из файлов и часть кода в msvcr80.dll
CnCVK где можно об этом толково прочитать? о том как устроить статическую компоновку, для чего толком нужен манифест.. и к чему так часто майкрософту обновлять рантаймовые библиотеки С ?