PDA

Prikaži potpunu verziju : VC++ 2008 include problem


Geomaster
22.9.2008, 14:38
E ovako, imam Visual C++ 2008 Express i do skora je sve radilo kako treba, svi include fajlovi su radili, windows.h, d3d9.h, d3dx9.h itd. Pre neki dan VC++ je počeo da mi prijavljuje greške u winnt.h, wincon.h i wingdi.h -- ali što je najzanimljivije, on se nalazi u Microsoft SDKs\Windows\v6.0A\Include. E sad, tu su svi potrebni .lib fajlovi ( \Lib ). Ne znam u čemu je problem - probao sam reinstall / repair opciju u setup-u za VC++ i u setup-u za .NET Framework ali ništa - taj direktorijum ostaje netaknut. Imam instaliran MS DirectX SDK od avgusta '07. ako ta informacija nešto znači... Rešenje mi je potrebno hitno jer radim na jednom projektu u VC++-u 2008 a zaglavljen sam dok prijavljuje ove greške. Probao sam da nađem te include fajlove na netu ali svi oni daju isti rezultat.

Pozz :ciao:

allokin
22.9.2008, 14:55
Ja sam imao slican problem sa devcpp-om i onda sam reainstalirao u folder bez razmaka i dobro mi je radilo. Takodje proveri da li je bug samo sa tim projektom ili i sa ostalima. Rekao si da si probao repair opciju ali mozda to nije isto kao jedan dobar reinstall.

Izvini ako ti ovo nista ne pomaze.. pokusao sam :)

rile
22.9.2008, 16:39
Da li možeš da iskopiraš poruke (greške) koje prijavljuje kompajler?

Geomaster
24.9.2008, 16:17
Sad sam uradio uninstall na VC++-u i sad ga instaliram (tj. installer skida 68MB) pa ću da vidim šta će biti. Inače problem se pojavio iz čista mira (i to isto pokazuje u svim projektima gde se includuje windows.h). Kad se bude instalirao javiću da li radi :) U svakom slučaju hvala na savetima :ciao:

EDIT: Neće!!! C:\Program Files\Microsoft SDKS\Windows\v6.0A\ je ostao isti...

Lista grešaka: 24279

rile
24.9.2008, 18:28
Probaj ovo:

U visual studiu otovori "properties" za tvoj main.cpp. Zatim u C/C++, Preprocessor,Generate Preprocessed File izaberi "With Line Numbers (/P)".

Zatim desnim klikom na 'main.cpp' uradi "Compile".

Po zavrsetku, trebalo bi da postoji "main.i" fajl u direktorijumu projekata.

Zakaci ga za poruku, pa da vidimo sta tacno kompajler cita.

Geomaster
24.9.2008, 18:35
http://www.sendspace.com/file/a3kq22

Instalirao sam Windows SDK for .NET Framework 3.5 misleći da je to problem, sada je dir umesto v6.0A v6.1 i vidi se u build-u da je taj ali OPET isti problemi!!! :rolleyes:

rile
24.9.2008, 22:08
Iz "main.i" se vidi nesto cudno:

#line 1 "c:\\program files\\microsoft visual studio 9.0\\vc\\include\\windows.h"

obrati paznju na direktorijum. Kod mene, u mojoj instalaciji VC++ express, nema tog fajla u tom direktorijumu.

Dalje u main.i:
#line 1 "c:\\program files\\microsoft sdks\\windows\\v6.1\\include\\winnt.h"

Dakle winnt.h je iz drugog direktorijuma.

Da bi windows-ovi hederi "radili" moraju da budu iste verzije. Obicno to znaci da Windows.h i winnt.h dolaze iz istog direktorijuma.

Ne znam odakle windows.h u tvom "Visual Studio 9.0\VC\Include" direktorijumu?

EclipsE
24.9.2008, 23:32
Treba ti Microsoft Platform SDK®... Koja glupost :mad: ni ja nisam mogao da kompajliram jedan projekat u VC++ 2005, onda sam skinuo platform SDK i morao josh neke gluposti da podeshavam i na kraju je proradilo... WINBLOWS!

allokin
24.9.2008, 23:46
Ma uzmes lepo devcpp sa mingwom..

Geomaster
25.9.2008, 17:11
Nevermind... Malo sam kopao po headerima i iz windows.h 'prokomentarisao' liniju koja je includovala wincon.h (koji je i davao najviše grešaka) a koji inače izgleda služi za konzolne aplikacije koje ja ionako neću praviti u VC++ 2008. Onda sam iz winnt.h sve problematične linije obrisao i malo doterao te delove i sada je sve OK. A u winnt.h -- problematični su bili redovi koji su se odnosili na 64-bitne sisteme (npr. POINTER_64 ili PVOID64). Ofc hvala na savetima!:)