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


Автор: avel 18.5.2006, 23:38
Кто скажет как справильно сделать, чтоб приложение работало на другой машине?
В данном случае просит библиотки mfc42d.dll и тому подобное.
Может их надо вставлять в папку вместе с ехе файлом??? 

Автор: Kagor 18.5.2006, 23:58
В свойствах проекта, установи статическую линковку библиотек MFC. smile  

Автор: DeadSoul 18.5.2006, 23:58
1. Пользователю отдается программа собранная в Release режиме
2. Утилитой View Dependies(идет в комлекте со студией) можно посмотреть все dll, от которых зависит программа

3. Можно линковатся с MFC статически(и тогда никаких библиотек не надо), но я от этого варианта ловил какие-то малопонятные глюки при сборке 

Автор: Solomon 19.5.2006, 00:05
При создании MFC поекта по умолчанию используется "Use MFC in a shared DLL". Когда создаешь проект подключи беблиотеки MFC статически, т.е. их можно "вшить" в exe файл, что бы программа не требовала их наличия на других компьютерах. Свойству "Use of MFC"  устанви значение Use MFC in a static library - это при создании проекта или если проект уже создан, зайди в свойство проекта и установи этоже значение параметру
"Use of MFC" на вкладке General

Добавлено @ 00:07 
Цитата(DeadSoul @ 18.5.2006,  23:58)
3. Можно линковатся с MFC статически(и тогда никаких библиотек не надо), но я от этого варианта ловил какие-то малопонятные глюки при сборке

Сомневаюсь что это может вызвать глюки.. хотя.... C++ это такая штука которая все может  smile  

Автор: Earnest 19.5.2006, 08:00
Цитата(avel @  19.5.2006,  00:38 Найти цитируемый пост)
Может их надо вставлять в папку вместе с ехе файлом???  

Так тоже можно, если не хочешь возиться с инсталляцией. 

А по взрослому, нужно необходимые системные библиотеки при инсталляции копировать в System32 (конечно, проверяя версии и т.д.). Кроме MFC-DLL еще потребуется RunTime DLL.
 

Автор: avel 19.5.2006, 11:13
Огромное всем спасибо! smile 
Если кто может повысьте репутацию этим людям, а то я ещё не дорос. 

Автор: avel 19.5.2006, 16:01
Ребята таки ж не получаетсмя у меня! При формировании нового проекта нет пункта : "How would you like to use the MFC library?"
Видно по умолчанию только: As  a shared DLL .
Всвойствах проекта, существующего, тоже выбор только такого вида библиотеки. Кто подскажет, что можно сделать??? smile  

Автор: Dray 19.5.2006, 18:08
У меня в 6й студии тоже самое. Это обрезанный Visual C++. Можно поискать другой или как я сидеть обламываться и тоскать все библиотеки вместе с ехе'шником. smile   

Автор: avel 19.5.2006, 21:26
Спасибо Dray! Что ж буду и всю библию таскать smile   

Автор: DeadSoul 19.5.2006, 23:43
Цитата(Dray @  19.5.2006,  18:08 Найти цитируемый пост)
У меня в 6й студии тоже самое. Это обрезанный Visual C++. Можно поискать другой или как я сидеть обламываться и тоскать все библиотеки вместе с ехе'шником.    

Какая версия студии Proffesional или иная?


Цитата(Earnest @  19.5.2006,  08:00 Найти цитируемый пост)
А по взрослому, нужно необходимые системные библиотеки при инсталляции копировать в System32 (конечно, проверяя версии и т.д.). Кроме MFC-DLL еще потребуется RunTime DLL.

Почему именно в system32? В пеапку программы достаточно 

Автор: Dray 20.5.2006, 16:11
Цитата(DeadSoul @  19.5.2006,  23:43 Найти цитируемый пост)
Какая версия студии Proffesional или иная?

Стандарт эдишион 

Автор: avel 21.5.2006, 12:38
А у меня Visual C++ 6.5     Enterprise Edition включая Visual Studio 6.0 и 
service pack 5. 

Автор: Kagor 21.5.2006, 20:30
Цитата(avel @  21.5.2006,  13:38 Найти цитируемый пост)
А у меня Visual C++ 6.5     Enterprise Edition включая Visual Studio 6.0 и 
service pack 5.  
avel, и чего у тебя в свойствах проекта нет такого (см. атач)?

Добавлено @ 20:31 
З.Ы. Соответственно это нужно выставить как для дебага, так и для релиза. smile  

Автор: avel 21.5.2006, 23:23
К сожалению нет. smile 
Может как то можна вставить в компилятор эту статическую библиотеку? Может нужно скачать где-то файл этот???  

Автор: Earnest 22.5.2006, 15:17
Цитата(DeadSoul @  20.5.2006,  00:43 Найти цитируемый пост)
Цитата(Earnest @  19.5.2006,  08:00 )
А по взрослому, нужно необходимые системные библиотеки при инсталляции копировать в System32 (конечно, проверяя версии и т.д.). Кроме MFC-DLL еще потребуется RunTime DLL.


Почему именно в system32? В пеапку программы достаточно  

Достаточно. Но я говорила как "по взрослому" делать - т.е. если приложение реально распространяется. Лучше не иметь на одном компьюторе разных версий системных библиотек... 

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