Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Для новичков > запустить программу без инсталлятора


Автор: sidor 15.6.2008, 15:58
Написал программку на C++. Собирал под Visual C++ 2005. Программа имеет GUI. 
Не могу запустить на другом компе если на нем не установлен Visual C++ 2005. 

Насколько я понимаю, не хватает библиотек, скопировал кучу библиотек в текущий каталог -  не помогло, в Windows\system32 - не помогло.

При попытке запуска получаю сообщение "Приложение не было запущено, поскольку оно не корректно настроено. Повторная установка приложения может решить данную проблему."

В чем может быть причина ? 

Посоветуйте чтото пожалуста.
Раньше поступал также с программами собранными под VC++ 6.0 - все было нормально.

Спасибо.

Автор: susanin 15.6.2008, 18:06
так компилить надо убрав галочки build with run time libraries....не помню где это искать..темы подобные сто раз полднимались.

Добавлено через 1 минуту и 57 секунд
в борланде это выглядит следующим образом..
Project - Options -
Packeges убрать галочку "Build with runtime packages"

Добавлено через 11 минут и 55 секунд
В опции проекта, C/C++, Code Generation, Runtime Library = Multitraded -- это для VS 2008.

Автор: jonie 15.6.2008, 22:07
кроме всего прочего добавлю что есть в составе VS прога, зовется depends  (в консоли вызовите) она умеет показывать в удобной форме каких длл-ок не хватает

Автор: susanin 15.6.2008, 22:11
jonie, а можно поподробней про эту прогу? где ее найти? просто в консоли прописать depends?? есть ли она в express версии?

Автор: sidor 15.6.2008, 22:14
Не, ну тогда исполняемый модуль оч большой получится а кроме того программка  у меня не из одного исполняемого модуля состоит. Исполняемый модуль подгружает еще кучу DLL (25 штук - в зависимости от прав пользователя).  И каждый DLL скорее всего  в размерах вырастет. 

Уверен что есть какое-то простое решение, просто я его не знаю. Или библиотеку специальную надо кудато положить, или в реестр чтото прописать.

Я токо не понимаю Билли - зачем было все усложнять. 
Если собирать проект под VC 6.0 то обо всех отсутствующих библиотеках я получаю вразумительное сообщение. Почему в данном случае я получаю какоето безинформативное сообщение - хз.

 

Автор: jonie 15.6.2008, 22:56
http://www.dependencywalker.com/

Автор: sidor 17.6.2008, 10:51
Цитата(jonie @ 15.6.2008,  22:07)
кроме всего прочего добавлю что есть в составе VS прога, зовется depends  (в консоли вызовите) она умеет показывать в удобной форме каких длл-ок не хватает

ага, спасибо
посмотрю

Автор: LostSoul 17.6.2008, 12:20
А если в настройках сделать Active Configuration - Release и Use Standard Windows Libraries или Use MFC in a static library, то должно зарабтаь, попробуй.

Автор: Rififi 17.6.2008, 16:40
программа собранная с динамической линковкой требует на target-системе установленного "Microsoft Visual C++ 2005 Redistributable Package". Иначе можно таскать с собой dll'ки и распространять приложение вместе с манифестом
подробности тут: http://msdn.microsoft.com/en-us/library/ms235291.aspx

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)