Mam taki problem, ze po kompilacji przerzucam program na inny komputer i nie dziala. Wyskakuje informacja, ze aplikacja nie jest prawidlowa aplikacja systemu win32. Program w wersji release. Swita mi, ze zapewne to przez brak jakis plikow .dll, ale jakich? Kompilowalem w Visual Studio 2012.
Możliwe przyczyny:
A. kompilujesz pod x64 a docelowy komputer ma system x86
B. kompilujesz pod toolset v110
, a docelowy komputer ma system Windows XP.
W drugim przypadku musisz w opcjach projektu ustawić Platform Toolset na v110_xp
. Jeśli masz do wyboru tylko v110
, zaktualizuj Visual Studio do wersji Update 3 albo Update 4 RC2.
A co do „brakujących DLL”, to jeśli kompilujesz z dynamicznym runtime, na docelowym kompie musi być zainstalowany Visual C++ Redistributable zgodny z użytą wersją Visuala (2012 Update 3).
Faktycznie, kompilowalem na x64 a uruchamialem na x86. Na innym x64 dziala. Co moglbym zrobic, aby program dzialal niezaleznie od wersji systemu?
Dystrybucja dla 32 i 64 bitowych systemów, jeżeli masz Win7 64b to jest wbudowany (WoW64) "emulator" dla plików 32 bitowych
Ok. A jest jakis prosty sposob aby skompilowac na moim x64 wersje na x32? Bo jak kompiluje tak jak teraz to na x64 dziala, wiec potrzebowalbym jeszcze opcje dla x32.
Visual domyślnie kompiluje na x86, więc jeśli po utworzeniu projektu nic w tym nie grzebałeś, to masz x86...