Problem z VS + Update2 i XP

0

Otóż mam pewien mały problem z którym nie idzie sobie poradzić. Otóż, wcześniej używałem Visual C++ 2010, i wszystko było ok, programy kompilowane pod Vista/7 działały normalnie pod xp.. do czasu.. Od paru miesięcy idzie mi pracować w Visual Studio 2012, dzisiaj trzeba było sprawdzić czy pewien program działa na xp... No i tutaj się zaczęły schody.. typu ".... is not a valid Win32 application", oczywiście szybko znalazłem przyczynę. Visual Studio 2012 po prostu przestał obsługiwać Xpka... ale co najciekawsze, na praktycznie samym początku wydali jakąś poprawkę(nie update), i programy jakoś już działały na xp. Jednak wydali Update2, którego zainstalowałem, wszystko się udało.. No i wchodzę do properties projektu i do zakładki -> General, i tam zaznaczam "Visual Studio 2012 - Windows XP (v110_xp)" i kompiluję.. Plik exe przenoszę na xpka którego mam w virtualboxie, i odpalam.. no i oczywiście ten sam błąd... hmm... Oczywiście najprostszy program konsolowy nie działa.. więc to problem samego kompilatora. I cóż teraz zrobić? Nie chce mi się zbytnio reinstalować Visuala całego.. ani zmieniać w jakikolwiek sposób środowisko. Jak czytałem komentarze do tego update to ludziom już działały programy na xp, jedynie ja jestem wyjątkiem.. Jakiekolwiek pomysły?

0

Naucz się robić akapity - linijkę przerwy, albo chociaż zacząć pisać od nowej linii, bo ciężko to się czyta.
Zauważ, że prawie każde zdanie zaczynam od nowej linii.

no i oczywiście ten sam błąd...
Jesteś pewien, że dobrego exeka skopiowałeś?
Bo może ustawiłeś Plaform Toolset na vs110_xp, ale tylko dla Debug a skopiowałeś exe od Release (albo odwrotnie).

Albo może kompilujesz w 64 bitach a XP masz 32-bitowe...

Pamiętaj też, że jeśli linkujesz dynamicznie runtime, to na docelowym komputerze trzeba zainstalować odpowiednie Redistributable.

Generalnie mogę potwierdzić, że v110_xp działa, i program rusza na XP SP3.

Kolejna rzecz, to VS2012 domyślnie generuje kod dla procesorów z SSE2, więc jeśli chcesz by program działał na starych kompach, trzeba architekturę CPU ustawić na IA32.
Ale w twoim przypadku nie to jest przyczyną, bo nie miałbyś takiego komunikatu.

to ludziom już działały programy na xp, jedynie ja jestem wyjątkiem.. Jakiekolwiek pomysły?
Coś robisz źle ;)

Spróbuj też zaktualizować Visuala do Update 3 RC 2. To jest niby na razie Release Candidate, ale z licencją “go-live” i zawiera jakieś nowe bugfixy związane z obsługą MFC i ATL pod XP-kiem.

0

Wczoraj zainstalowałem dodatkowo update3 i hmm.. nadal nie działa. Nie linkuje dynamicznie.. mam ustawione dla Release MT, a dla Debug MTD.
I analogicznie mam ustawione dla obu Toolset na Win xp. Problem może się kryć w 64 bitach...
Mam 64 bitową 7, i na niej kompiluję, a potem patrzę na xpku SP3 32 bitowym. Tylko że wcześniej miałem ten sam sprzęt, prawie ten sam system, ale kompilowałem w vc++ 2010 i wsio było ok.

0

Aha, jeszcze jedno.. W properties -> Linker -> Advanced -> Target Machine, mam ustawione: MachineX86 (/MACHINE:X86)

0

Linker | System | Minimum Required Version

ustaw na 5.01

nie wiem co to jeszcze może być innego...

0

Mam ustawione na 5.01... Problem w tym że ja też nie wiem co to może być jeszcze...

0

udostępnij jakoś skompilowanego exeka z hello world, zobaczymy co się w nim dzieje...

0
#include <iostream>

using namespace std;

int main()
{
	cout << "cos";
	int stop;
	cin >> stop;
	return 0;
}

Opcje - Release mode, Visual Studio 2012 - Windows XP (v110_xp), MT, reszta domyślna
http://www64.zippyshare.com/v/88400882/file.html

1 użytkowników online, w tym zalogowanych: 0, gości: 1