Hello,
When I tried to compile my project in XCode I get this error:
ERROR: No PCH usage for file "/Volumes/DATA/Unreal Projects/PLGTest/Source/PLGTest/._BSPLevelCell.cpp" . Missing #include header?
I compiled this file (BSPLevelCell.cpp) fine the last few minutes. Secondly, the file has no ._ in its file name.
Here is this file:
#include "PLGTest.h"
#include "BSPLevelCell.h"
ABSPLevelCell::ABSPLevelCell(const class FPostConstructInitializeProperties& PCIP)
: Super(PCIP)
{
static ConstructorHelpers::FObjectFinder<UBlueprint> ItemBlueprint(TEXT("Blueprint'/Game/Blueprints/BSPWallLight.BSPWallLight'"));
if (ItemBlueprint.Object){
lightClass = (UClass*)ItemBlueprint.Object->GeneratedClass;
}
}
//some other functions
What could I do?
Greetings,
The first include in a .cpp is assumed to be the pre-compiled header file (PCH). Does PLGTest.h exist? Is it included as the first file by all your .cpp files in that module?
yes it exist, and yes it is included by all other files. Also I compiled this file fine a few moments before it threw this error. I just added 2 StaticMesh parameters to a function then tried to compile and it threw this error.
Funny thing is, if I copy BSPLevelCell.cpp and rename it to ._BSPLevelCell.cpp it gives me this error:
ERROR: No PCH usage for file "/Volumes/DATA/Unreal Projects/PLGTest Kopie/Source/PLGTest/._._BSPLevelCell.cpp" . Missing #include header?
So I suspect this is a bug.
btw. I am using 4.2.1
Hi DJ_Lectro0,
According to OSX forums, these files are created by OSX to store information that would otherwise go into an extended attribute on HFS+ (Apple native) or Unix/UFS volumes. I’m guessing that volume is not formatted as Apple native filesystem.
We will fix this on our end, but in the meantime, if you don’t want to format that drive to HFS+ filesystem, you could modify UBT to reject ‘._*’ files, by changing UEBuildModule.cs, CategorizeSourceFiles function to look like this:
private static void CategorizeSourceFiles(IEnumerable<FileItem> InSourceFiles, SourceFilesClass OutSourceFiles)
{
foreach (var SourceFile in InSourceFiles)
{
if (Path.GetFileName(SourceFile).StartsWith("._")) continue;
string Extension = Path.GetExtension(SourceFile.AbsolutePath).ToUpperInvariant();
if (!SourceFile.bExists)
{
...
Ok, thank you. And where is this file located??
Engine\Source\Programs\UnrealBuildTool\Configuration\UEBuildModule.cs
Ok so I would have to compile the Github code. Thank you.