Autor Wątek: VC++ 2008 EE  (Przeczytany 1753 razy)

Offline lenom

  • Użytkownik

# Kwiecień 14, 2010, 23:22:45
Witam.

W C::B czy Dev otrzymuje program 1MB po skompilowaniu

A w VC jakieś 250kb.

Ale Jak kompiluje w VC to potem są problemy jak odpala go na innych kompach.
Nie można uruchomić aplikacji ponieważ jej konfiguracja jest niewłaściwa. Problem ten może rowiązać ponowne zainstalowanie aplikacji.
Pewnie to jest wina tego ze nie dołącza jakiś bibliotek czy coś, jak zrobić by nie robił problemów ??

jakie opcje przestawić ??

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

st3tc

  • Gość
# Kwiecień 14, 2010, 23:35:07
Opcje GCC, które zapewne zmniejszą wielkość exe to "-O3" i  "-s".
Co do Visuala: linkuj statycznie (Project Properties > C/C++ > Code Generation > Runtime Library > wersja bez "DLL") albo dostarczaj userom dll Visuala.


Offline lenom

  • Użytkownik

# Kwiecień 15, 2010, 00:03:33
Niestety, nie da rady.

Ale na szczęście znalazłem odpowiedz na naszym WIKI :):)

st3tc

  • Gość
# Kwiecień 15, 2010, 05:06:38
Z tego co pamietam, na wiki jest jakos to smiesznie wytlumaczone.
Sciagasz Microsoft Visual C++ 2008 Redistributable Package i dodajesz do instalatora aplikacji.

Offline Liosan

  • Redaktor


Offline lenom

  • Użytkownik

# Kwiecień 15, 2010, 21:22:11
Albo podmieniasz manifest: http://blog.kalmbach-software.de/2008/05/03/howto-deploy-vc2008-apps-without-installing-vcredist_x86exe/ :)

Liosan
Tak tylko, że wtedy będę musiał je dołączać do aplikacji.

Nie ma sposobu by były one w EXE'ku(pomijając instalator) ??

Czy w wersji Pro albo każdej innej niż EE te problemy nie występują??


PS:
W C::B Plik miał normalną wielkość i był kompatybilny z pozostałymi   >:(
« Ostatnia zmiana: Kwiecień 15, 2010, 23:16:34 wysłana przez lenom »

Offline Reg

  • Administrator
    • Adam Sawicki - Home Page

# Kwiecień 18, 2010, 16:14:21
Ten problem występuje z każdym Visual C++, obojętnie z którego roku oraz czy Express czy Professional. Masz do wyboru - albo w opcjach projektu ustawiasz Runtime Library na wersje "DLL" i wtedy twój program wymaga zainstalowania odpowiedniej wersji Microsoft Visual C++ 20-- Redistributable Package, albo na wersje bez "DLL" i wtedy plik EXE robi się większy.

Offline lenom

  • Użytkownik

# Maj 23, 2010, 15:41:15
Ten problem występuje z każdym Visual C++, obojętnie z którego roku oraz czy Express czy Professional. Masz do wyboru - albo w opcjach projektu ustawiasz Runtime Library na wersje "DLL" i wtedy twój program wymaga zainstalowania odpowiedniej wersji Microsoft Visual C++ 20-- Redistributable Package, albo na wersje bez "DLL" i wtedy plik EXE robi się większy.

Nie zawsze jest o możliwe niestety.

A czy jest możliwość np w Ino Setup. czy jakimś innym Instalatorze, zrobić tak by sprawdzał czy na kompie jest NET 2.0 i VC 2008 Redistribure pack i jak nie ma to instalował ??

Ewentualnie jakaś inna możliwość, choćby nawę we własnym programie zanim wywali błąd to sprawdzał czy to jest i wywalał komunikat by to zainstalować.

Offline Liosan

  • Redaktor

# Maj 23, 2010, 17:20:43
A czy jest możliwość np w Ino Setup. czy jakimś innym Instalatorze, zrobić tak by sprawdzał czy na kompie jest NET 2.0 i VC 2008 Redistribure pack i jak nie ma to instalował ??
Tak, np. możesz osadzić instalator redistów wewnątrz instalki. Nie wiem jak z .NET-em, pewnie można też osadzić jakiś sprawdzacz-ściągacz.

Liosan

st3tc

  • Gość
# Maj 23, 2010, 19:42:25
Do redistów nie trzeba sprawdzacza, można je odpalić w trybie "cichym" i tylko przeleci przez sekundkę pasek postępu i wszystko :)