Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Instruktionen "#include" som angavs med kommandoradsalternativet /Yc-filnamn hittades inte i källfilen
Anmärkningar
Alternativet /Yc anger namnet på en inkluderingsfil som inte ingår i källfilen som kompileras.
När du använder filnamnsalternativet/Yc på en källfil för att skapa en fördefinierad sidhuvudfil (PCH) måste källfilen innehålla filnamnshuvudfilen. Varje fil som ingår i källfilen, upp till och med det angivna filnamnet, ingår i PCH-filen. I andra källfiler som kompilerats med hjälp av filnamnsalternativet/Yu för att använda PCH-filen måste filnamnet vara den första icke-kommentarsraden i filen. Kompilatorn ignorerar allt i källfilen innan detta inkluderas.
Det här felet kan orsakas av en #include "filename" instruktion i ett villkorligt kompileringsblock som inte kompileras i PCH-källfilen.
Example
I vanlig användning betecknas en källfil i projektet som PCH-källfilen och en huvudfil används som PCH-huvudfil. En typisk PCH-huvudfil har alla bibliotekshuvudfiler som används i ditt projekt, men inte lokala huvudfiler som fortfarande är under utveckling. I det här exemplet heter PCH-huvudfilen my_pch.h.
// my_pch.h
#pragma once
#include <stdio.h>
PCH-källfilen kompileras med hjälp av alternativet /Ycmy_pch.h . Om kompilatorn inte hittar någon inkludering av den här PCH-huvudfilen genererar den C2857:
// my_pch.cpp
// Compile by using: cl /EHsc /W4 /Yumy_pch.h /c my_pch.cpp
#if 0
#include "my_pch.h" // C2857; remove conditional directives to fix
#endif
Om du vill använda den här PCH-filen måste källfilerna kompileras med hjälp av alternativet /Yumy_pch.h . PCH-huvudfilen måste inkluderas först i källfilerna som använder PCH:
// C2857.cpp
// Compile my_pch.cpp first, then
// compile by using: cl /EHsc /W4 /Yumy_pch.h my_project.cpp my_pch.obj
// Include the pch header before any other non-comment line
#include "my_pch.h"
int main()
{
puts("Using a precompiled header file.\n");
}