Komunikat o błędzie podczas używania kompilatora Visual C++ 2008: "fatal error C1859"

Pracuj w dowolnym miejscu i na dowolnym urządzeniu dzięki platformie Microsoft 365

Uaktualnij program Microsoft 365, aby pracować w dowolnym miejscu z najnowszymi funkcjami i aktualizacjami.

Zaktualizuj teraz

Objawy

Następujący komunikat o błędzie po uruchomieniu kompilator Microsoft Visual C++ 2008 do kompilowania plików lub do tworzenia projektu:

krytyczny błąd C1859: Nazwa pliku nagłówka nieoczekiwany wstępnie skompilowana nagłówek, po prostu ponowne kompilator może rozwiązać ten problem.

Ponadto ten problem nadal występuje, nawet po uruchomieniu kompilator ponownie. Ten problem występuje, gdy zostanie włączona opcja kompilatora Tworzenie i stosowanie wstępnie skompilowana nagłówka na komputerze z systemem Windows 7 lub Windows Server 2008.

Uwaga Można napotkać ten problem więcej często po włączeniu opcji kompilatora / analyze .

Przyczyna

Po włączeniu Tworzenie i stosowanie wstępnie skompilowana nagłówka opcja kompilatora, kompilator wymaga, że pliki wstępnie skompilowanym nagłówka i moduły względne nie są przemieszczane między kompilacje. Funkcja randomizacji układ przestrzeni adresowej (również znany jako ASLR) przemieszcza losowo modułów w procesie. W związku z tym ten błąd występuje, gdy moduły przechodzenie między kompilacji.

Rozwiązanie

Informacje o poprawce

Obsługiwana poprawka jest udostępniana przez firmę Microsoft. Jednak ta poprawka jest przeznaczona tylko do usunięcia problemu opisanego w tym artykule. Tylko w systemach, których dotyczy ten problem, należy zastosować tę poprawkę. Ta poprawka może być wciąż w fazie testowania. Jeśli dany system nie jest poważnie narażony na ten problem, firma Microsoft zaleca, aby poczekać na następną aktualizację oprogramowania zawierającą tę poprawkę.

Aby pobrać tę poprawkę z galerii kodu Microsoft Developer Network (MSDN), odwiedź następującą witrynę firmy Microsoft w sieci Web:

http://code.msdn.microsoft.com/KB976656
Uwaga Galerii kodów MSDN zawiera listę języków, dla których dostępna jest poprawka. Jeśli na liście język nie jest widoczny, to dlatego stronie resource galerię kodu nie jest dostępna dla danego języka.


Uwaga Jeśli wystąpią dodatkowe błędy lub konieczność rozwiązania problemu, być może trzeba będzie utworzyć osobne zlecenie usługi. Zwykłe koszty obsługi będą zastosowane do dodatkowych pytań i problemów, których nie można rozwiązać przy użyciu określonej poprawki. Aby uzyskać pełną listę numerów telefonów pomocy technicznej i obsługi klienta firmy Microsoft lub utworzyć osobne zlecenie usługi, odwiedź następującą witrynę firmy Microsoft w sieci Web:

http://support.microsoft.com/contactus/?ws=supportUwaga Tę poprawkę można również pobrać z następującej witryny firmy Microsoft w sieci Web:

https://connect.microsoft.com/VisualStudio/Downloads/DownloadDetails.aspx?DownloadID=25785Uwaga: Ten pakiet poprawek zawiera poprawki dla "C1001: Wystąpił błąd wewnętrzny w kompilatorze (f:\dd\vctools\compiler\utc\src\p2\main.c pliku kompilatora, linia 182) w przypadku używania systemu .NET framework 3.5.

Wymagania wstępne

Musi mieć Microsoft Visual Studio 2008 z dodatkiem Service Pack 1 zainstalować tę poprawkę.

Wymagania dotyczące ponownego uruchomienia

Nie trzeba ponownie uruchomić komputer po zastosowaniu tej poprawki, jeśli jest używane żadne wystąpienie programu Visual Studio.

Informacje dotyczące zastępowania poprawek

Ta poprawka nie zastępuje żadnych innych poprawek.

Informacje o plikach


Wersja anglojęzyczna tej poprawki ma atrybuty plików (lub nowsze) wymienione w poniższej tabeli. Daty i godziny odpowiadające tym plikom zostały podane w formacie uniwersalnego czasu koordynowanego (UTC, Coordinated Universal Time). Po wyświetleniu informacji o pliku są konwertowane na czas lokalny. Aby zobaczyć różnicę między czasem UTC i czasem lokalnym, należy użyć
Strefa czasowa
w zakładce
Data i godzina
element w Panelu sterowania.

Nazwa pliku

Wersja pliku

Rozmiar pliku

Data

Godzina

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

Obejście problemu

Aby obejść ten problem, użyj jednej z następujących metod.


Metoda 1

Jeśli jest włączone, należy wyłączyć opcję kompilatora / analyze .

Metoda 2

Rozpocznij czystą kompilację.

Metoda 3

Uruchom ponownie komputer.

Metoda 4

Wyłącz Tworzenie i stosowanie wstępnie skompilowana nagłówka opcja kompilatora.


Uwaga Metody te nie są gwarantowane do pracy. Nawet jeśli używasz jednej z tych metod, nadal napotkać ten problem.

Stan

Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji „Dotyczy”.

Więcej informacji

Aby uzyskać więcej informacji na temat randomizacji układ przestrzeni adresowej odwiedź następujące ogłoszenie blogu firmy Microsoft:

Adres miejsca układ randomizacji w systemie Windows VistaAby uzyskać więcej informacji na temat błędów nagłówka wstępnie skompilowana odwiedź następujące ogłoszenie blogu firmy Microsoft:

Wstępnie skompilowana błędy nagłówka w systemie Windows 7

Potrzebna dalsza pomoc?

Rozwijaj swoje umiejętności
Poznaj szkolenia
Uzyskuj nowe funkcje w pierwszej kolejności
Dołącz do niejawnych testerów firmy Microsoft

Czy te informacje były pomocne?

Dziękujemy za opinię!

Dziękujemy za opinię! Wygląda na to, że połączenie Cię z jednym z naszych agentów pomocy technicznej pakietu Office może być pomocne.

×