[Bug]Generating project files breaks build

Hi ,
Generating project files in mine location breaks compilition.

3 auto generated files has this bug.

EnginePrivate.h

CorePrivate.h

And CorePrivatePCH.h.

bug is when ue4 generating this files

#ifndef __AUTO_ENGINEPRIVATE_H__
#define __AUTO_ENGINEPRIVATE_H__   this to line become this

#ifndef __AUTO_ENGİNEPRİVATE_H__
#define __AUTO_ENGİNEPRİVATE_H__

“I” with point makes error at building engine. (İ)

Hey

When you use an #ifndef preprocessor directive it has to be closed with #endif. Adding this after line 2 should allow the project to compile successfully.

Cheers

You dont understand.
Look to chars please.
I am talking about auto generated file.
Unreal engine generating .h files with İ

big “i”

There is no big "i " in english soo compiling crashes

Can you elaborate on what you mean? Which files are you seeing the “i” with the wrong capitalization? Is this when you are creating a new project or adding code to a project? Is this occurring in one of the engine source files? If possible, is there a way for me to reproduce what you’re seeing on my end to help me investigate the issue? CorePrivatePCH doesn’t appear to mention ENGINEPRIVATE and the only mention of ENGINEPRIVATE in EnginePrivate.h is inside a comment block. Is this something that you’re adding to these files? Additionally, what is the compile error that you receive? Knowing what the error message is may help identify the problem and how to solve it. Any additional information you can provide to explain what is happening will be helpful.

EnginePrivate.h

CorePrivate.h

And CorePrivatePCH.h.

i getting this bug everytime trying to compile ue4 code and project code

i explained better at this treat

Could you post the first 10 lines of the CorePrivatePCH.h file from your engine? Also, are you using the binary version of the engine from the launcher or are you trying to build a source version from GitHub?

Github source - release branch

Hey

Can you check what your Visual Studio’s language is set to? This can be done by going to Tools->Options and then looking for Environment->International Settings in the new window. Let me know what language it is set to here. If it is set to “Same as Microsoft Windows” can you also let me know what the default language of your OS is? If this is set to something other than English can you try switching it by choosing English from the drop down on the right and then compile the source again?

Cheers

I have the same problem. When I try to compile 4.10 or 4.10.1 source code, unsupported characters causes build errors. For example,
instead of this:

#ifndef __AUTO_COREPRIVATEPCH_H__

it is like this:

#ifndef __AUTO_COREPRİVATEPCH_H__

In Turkish alphabet lower case i = upper case İ
and lower case ı = upper case I

Even if I replace them manually, they automatically turns into İ again. For example if I open CorePrivatePCH.h and replace İ’s with I’s, it automatically makes letters upper case in a wrong way. It turns I’s into İ’s every time I fix it, when it is building.

I deleted all source files. I changed my language into English, I deleted Turkish keyboard and used English Q keyboard and reinstalled source code but result is same. I tried both English and Turkish versions of Visual Studio 2015, I tried Visual Studio 2013 too. I redownloaded source code every time I have changed version or language. But result is still same.
I fixed them via notepad then I made files -only, the files that contains İ , to protect them from changing I’s to İ’s. Then I got this error:

4> at UnrealBuildTool.UnrealBuildTool.RunUBT(String[] Arguments) in D:\GitHub\UnrealEngine-release\Engine\Source\Programs\UnrealBuildTool\System\UnrealBuildTool.cs:line 1832

4> UnrealHeaderTool failed for target ‘UE4Editor’ (platform: Win64, module info: D:\GitHub\UnrealEngine-release\Engine\Intermediate\Build\Win64\UE4Editor\Development\ UnrealHeaderTool.manifest ).

4>C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.MakeFile.Targets(42,5): error MSB3075: The command “…..\Build\BatchFiles\Rebuild.bat UE4Editor Win64 Development -waitmutex” exited with code 5. Please verify that you have sufficient rights to run this command.

========== Tümünü Yeniden Oluşturma: 3 successful, 1 failed, 0 ignored ==========

Hey SalishBalkan-

When you say that you’ve tried both English and Turkish versions of VS are you referring to the process I mentioned above? What language was VS set to originally? If you’ve already changed the language to English can you run GenerateProjectFiles.bat again and then compile?

Yes, I redownloaded the entire source code. My VS 2015, language and keyboard is English. But result is still same.
Original language of VS is English. Original language of my Windows 10 was Turkish.

I am attempting to reproduce this by changing the language of my machine to Turkish. Can you let me know when you are running into this error? Is this happening when running Setup.bat, GenerateProjectFiles.bat, building the editor, or at some other point in the installation process?

It is happening when I am building or rebuilding the UE4 in Development Editor and Win64.

Hey

According to who appears to be having the same issue, his machine appears to be set to Turkish language. Can you confirm if your computer / Visual Studio is set to the same language or a different language?

Hey ihavenick and -

I was able to reproduce the build error after switching my computer to Turkish and have entered a bug report (UE-24478) for investigation.

Cheers

I fixed this bug by myself. I changed this:

…ToUpper();

into this:

…ToUpper(new CultureInfo(“en-US”, false));

This is in UEBuildModule.cs

You can see this in the screenshot:

Yes thank you :slight_smile:

Yes , it was Turkish too . thanks for summitting bug report

Hi , looks like this bug isn’t fixed on GitHub. Could you please get this into 4.11?

I would replace the ToUpper or ToLower calls to their Invariant versions: String.ToUpperInvariant Method (System) | Microsoft Docs

Similar things can happen to Equals.