Příznaky
Při spuštění kompilátoru Microsoft Visual C++ 2008 ke kompilaci souborů nebo vytváření projektu zobrazí následující chybová zpráva:
Závažná chyba C1859: název souboru hlaviček neočekávané předkompilované hlavičky, jednoduše opětovného spuštění kompilátor může opravit tento problém.
Navíc tento problém přetrvává i po spuštění kompilátor znovu. K tomuto problému dochází, pokud povolíte možnost kompilátoru Vytvoření/použití předkompilovaných hlaviček v počítači se systémem Windows 7 nebo Windows Server 2008.
Poznámka: Další potíže mohou nastat často Pokud povolíte možnost kompilátoru / analyze .
Příčina
Pokud je povolena možnost kompilátoru Vytvoření/použití předkompilovaných hlaviček , kompilátor vyžaduje relativní moduly a předkompilované hlavičky souborů nelze přesouvat mezi soubory. Adresa místa rozložení randomizace (ASLR) funkce však náhodně přemístí modulů v procesu. Proto dojde k chybě při moduly přesouvat mezi soubory.
Řešení
Informace o opravě hotfix
Společnost Microsoft má k dispozici podporovanou opravu hotfix. Tato oprava hotfix je však určena pouze problému popsanému v tomto článku. Použití této opravy hotfix pouze u systémů, ve kterých dochází k tomuto konkrétnímu problému. Tato oprava hotfix může být dále testována. Proto pokud nejste vážně ohrožen tímto problémem, doporučujeme počkat na další aktualizaci softwaru, která obsahuje tuto opravu hotfix.
Chcete-li stáhnout tuto opravu hotfix z Galerie kódu Microsoft Developer Network (MSDN), naleznete na následujícím webu společnosti Microsoft:
http://code.msdn.microsoft.com/KB976656
Poznámka: Galerie kódu MSDN zobrazí jazyky, pro které je oprava hotfix k dispozici. Pokud není uveden jazyk, je protože zdroj stránky galerie kód není k dispozici pro daný jazyk.
Poznámka: Pokud nastanou další problémy nebo bude nutné další řešení potíží, bude možná třeba vytvořit další samostatný požadavek na služby. Běžná cena za technickou podporu se vztahuje k dodatečným otázkám podpory a k problémům, které se netýkají této konkrétní opravy hotfix. Úplný seznam telefonních čísel služeb zákazníkům společnosti Microsoft a podpoře nebo vytvořit zvláštní požadavek na službu naleznete na následujícím webu společnosti Microsoft:
http://support.microsoft.com/contactus/?ws=supportPoznámka: Tato oprava hotfix můžete také stáhnout z následujícího webu společnosti Microsoft:
https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785Poznámka: Tento balíček oprav hotfix také obsahuje opravy pro "C1001: došlo k vnitřní chybě v kompilátoru (kompilátor souboru f:\dd\vctools\compiler\utc\src\p2\main.c, řádek 182) při použití rozhraní .NET framework 3.5.
Předpoklady
Musíte mít Microsoft Visual Studio 2008 Service Pack 1 nainstalována tuto opravu hotfix.
Požadavek na restartování
Nemáte k restartování počítače po instalaci této opravy hotfix Pokud žádná instance Visual Studio je používán.
Informace o nahrazení opravy hotfix
Tato oprava hotfix nenahrazuje žádné další opravy hotfix.
Informace o souborech
Anglická verze této opravy hotfix má atributy (nebo pozdější atributy souborů) uvedené v následující tabulce. Kalendářní data a časy jednotlivých souborů jsou uvedeny v koordinovaném světovém čase (UTC). Při zobrazení informací o souboru je převeden na místní čas. Chcete-li najít rozdíl mezi místním časem a UTC, použijte
Časové pásmo
karty v
Datum a čas
Chcete-li zobrazit položky v Ovládacích panelech.
Název souboru |
Verze souboru |
Velikost souboru |
Datum |
Čas |
---|---|---|---|---|
C1.dll |
15.0.30729.4455 |
677,184 |
10-Dec-2009 |
02:31 |
C1.dll |
15.0.30729.4455 |
828,744 |
10-Dec-2009 |
02:31 |
C1xx.dll |
15.0.30729.4455 |
2,202,952 |
10-Dec-2009 |
02:31 |
C1xx.dll |
15.0.30729.4455 |
2,213,704 |
10-Dec-2009 |
02:31 |
C1xx.dll |
15.0.30729.4455 |
2,348,360 |
10-Dec-2009 |
02:31 |
C1xx.dll |
15.0.30729.4455 |
2,504,016 |
10-Dec-2009 |
02:31 |
C1xx.dll |
15.0.30729.4455 |
2,890,568 |
10-Dec-2009 |
02:31 |
Jak potíže obejít
Chcete-li tento problém vyřešit, použijte jednu z následujících metod.
Metoda 1
Pokud je povoleno, zakažte možnost kompilátoru / analyze .
Metoda 2
Spuštění nové čisté sestavení.
Metoda 3
Restartujte počítač.
Metoda 4
Zakažte možnost kompilátoru Vytvoření/použití předkompilovaných hlaviček .
Poznámka: Tyto metody nemusí fungovat. Tento problém může vyskytnout stále, i při použití těchto metod.
Stav
Společnost Microsoft potvrdila, že se jedná o problém v produktech společnosti Microsoft, které jsou uvedeny v části "Platí pro".
Další informace
Další informace o adresa místa rozložení randomizace naleznete na následujícím blogu společnosti Microsoft:
Adresa místa rozložení randomizace v systému Windows VistaDalší informace o chybách předkompilována záhlaví naleznete na následujícím blogu společnosti Microsoft: