Jak naprawić.Brak pliku pch przy kompilacji?
Kiedy buduję moje rozwiązanie c++ w Visual Studio narzeka, że xxxxx.Brak pliku pch. Czy brakuje mi ustawienia, aby odzyskać wstępnie skompilowane nagłówki?
Oto dokładny błąd kompletności:
Error 1 fatal error C1083: Cannot open precompiled header file: 'Debug\xxxxx.pch': No such file or directory
9 answers
Uwaga: późniejsze wersje IDE mogą używać "pch "zamiast" stdafx " w domyślnych nazwach powiązanych plików. Może być konieczne zastąpienie pch stdafx w poniższej instrukcji. Przepraszam. To nie moja wina.
- Kliknij prawym przyciskiem myszy projekt w Eksploratorze rozwiązań.
- kliknij Właściwości u dołu rozwijanego menu.
- w lewym górnym rogu strony właściwości, wybierz Wszystkie konfiguracje z menu rozwijanego.
- Otwórz drzewo C / C++ i select Precompiled Headers
- Precompiled Header: Select Use (/Yu)
- Wypełnij wstępnie skompilowane pole pliku nagłówkowego. Standardem jest stdafx.h
-
Kliknij OK
Jeśli u pacjenta nie występuje stdafx.h w plikach nagłówkowych umieść go tam. Edytuj to #zawiera wszystkie nagłówki, które chcesz wstępnie skompilować.
- Umieść plik o nazwie stdafx.cpp do twojego projektu. Put # include " stdafx.h" na szczycie i nic więcej.
- Kliknij prawym przyciskiem myszy na stdafx.cpp w Solution Explorer. Wybierz Właściwości i wszystkie konfiguracje ponownie jak w kroku 4 ...
- ... ale tym razem wybierz wstępnie skompilowany nagłówek Create (/Yc). to tylko bind do jednego pliku stdafx.cpp.
- Put # include " stdafx.h " na samym szczycie wszystkich plików źródłowych.
Szczęśliwa 13. Trzymaj kciuki i uderz w Build.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2018-08-19 03:43:18
Precompiled header (pch) jest procesem dwuetapowym.
W pierwszym kroku kompilujesz plik stub (w VS200x zwykle nazywa się to stdafx.cpp
). Ten plik wstępny pośrednio zawiera tylko nagłówki, które chcesz wstępnie skompilować. Zazwyczaj jeden mały nagłówek (zwykle stdafx.h
) zawiera standardowe nagłówki, takie jak <iostream>
i <string>
, a następnie jest dołączany do pliku początkowego. Skompilowanie tego tworzy .plik pch.
W Kroku 2, Twój rzeczywisty kod źródłowy zawiera ten sam mały nagłówek z kroku 1, Co pierwszy nagłówek. Kompilator, gdy napotka ten specjalny nagłówek, odczytuje odpowiedni .plik pch zamiast. Oznacza to, że nie musi (ponownie)kompilować tych standardowych nagłówków za każdym razem.
W Twoim przypadku wydaje się, że Krok 1 zawodzi. Czy plik wstępny jest nadal obecny? W Twoim przypadku byłoby to prawdopodobnie xxxxx.cpp
. To musi być plik skompilowany z /Yc:xxxxx.pch
, ponieważ jest to flaga kompilatora wskazująca, że jest to krok 1 procesu PCH. Jeśli xxxxx.cpp
jest obecny i jest takim plikiem stub, to prawdopodobnie brak opcji kompilatora /Yc:
.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-08-11 17:45:46
Fix:
-
Upewnij się, że masz xxxxx.cpp w Twoim projekcie
Compile xxxxx.cpp with /YC flag ( Create Precompiled Header)
(kliknij prawym przyciskiem myszy na xxxxx.cpp - > properties - > Precompiled Headers - > create)Skompiluj wszystkie inne pliki z flagą /Yu (Użyj wstępnie skompilowanego nagłówka)
(kliknij prawym przyciskiem myszy na project - > properties -> Precompiled Headers -> use)
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-20 18:55:22
- Kliknij prawym przyciskiem myszy projekt i wybierz pozycję menu Właściwości
- goto C / C++ - > Precompilowane nagłówki
- Select Not Using Precompiled Headers
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-08-08 12:35:49
Tak można go wyeliminować za pomocą opcji / Yc, jak wskazywali inni, ale najprawdopodobniej nie trzeba go dotykać, aby to naprawić. Dlaczego otrzymujesz ten błąd w pierwszej kolejności bez zmiany żadnych ustawień? Być może "wyczyściłeś" projekt i spróbuj skompilować pojedynczy plik cpp. W takim przypadku pojawi się ten błąd, ponieważ brakuje nagłówka precompilera. Po prostu zbuduj cały projekt (nawet jeśli się nie powiedzie), a następnie zbuduj dowolny pojedynczy plik cpp i nie dostaniesz tego błąd.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-11-25 19:34:56
Jeśli wszystko jest w porządku, ale ten błąd jest obecny, należy sprawdzić następną sekcję w****.plik vcxproj:
<ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition=
W moim przypadku była Niepoprawna nazwa konfiguracji: tylko pierwsze słowo.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-30 16:14:50
Wiem, że ten temat jest bardzo stary, ale miałem do czynienia z tym w VS2015 niedawno i pomogło to usunąć foldery kompilacji i ponownie je zbudować. Może się to zdarzyć z powodu próby zamknięcia programu lub wstrzymania / zamrożenia programu podczas budowania.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-12-25 23:16:50
Szukałem pliku iOS PCH, który ma ten sam problem, jeśli tu tak jak ja, rozwiązanie, które znalazłem, polega na wyczyszczeniu danych pochodnych; Zamknij symulator(y), przejdź do prefs Xcode - > lokalizacje - > przejdź do ścieżki pliku danych pochodnych, Zamknij xCode, Usuń pliki w folderze danych pochodnych, uruchom ponownie i zdrówko:) {]}
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-09-13 09:33:07
Spróbuj Build > Clean Solution, a następnie Build > Build Solution. To mi pasuje.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-03-05 04:47:13