Upgrade from 4.10.4 to 4.11.2 compile error

I can create sample project properly in 4.11.2
but when I tried to upgrade my current project (4.10.4) I got this error (below).
I downloaded 4.11.2 from Epic Launcher

Do I expect to delete some old files/folders to make this work?

Compile error log here :

The project could not be compiled. Would you like to open it in Visual Studio?

Running C:/Program Files/Epic Games/4.11/Engine/Binaries/DotNET/UnrealBuildTool.exe ComponentRPG Development Win64 -project=“C:/Work_backup/Unreal Projects/ComponentRPG 4.11/ComponentRPG.uproject” -editorrecompile -progress -noubtmakefiles -NoHotReloadFromIDE -2015
@progress push 5%
Parsing headers for ComponentRPGEditor
Running UnrealHeaderTool “C:\Work_backup\Unreal Projects\ComponentRPG 4.11\ComponentRPG.uproject” “C:\Work_backup\Unreal Projects\ComponentRPG 4.11\Intermediate\Build\Win64\ComponentRPGEditor\Development\UnrealHeaderTool.manifest” -LogCmds=“loginit warning, logexit warning, logdatabase error” -Unattended -WarningsAsErrors -installed
Reflection code generated for ComponentRPGEditor in 6.6336864 seconds
@progress pop
Performing 6 actions (4 in parallel)
[2/6] Resource PCLaunch.rc
[3/6] Resource ModuleVersionResource.rc.inl
PCH.ComponentRPG.h.cpp
ComponentRPG.generated.cpp
Module.ComponentRPG.cpp
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(15): error C2504: ‘UTextLayoutWidget’: base class undefined
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C3646: ‘Super’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(75): error C3646: ‘TextDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(75): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(83): error C3646: ‘ColorAndOpacityDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(83): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(99): error C3646: ‘ShadowColorAndOpacityDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(99): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(128): error C3668: ‘UTextBlock::SynchronizeProperties’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(132): error C3668: ‘UTextBlock::ReleaseSlateResources’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(137): error C3668: ‘UTextBlock::GetEditorIcon’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(138): error C3668: ‘UTextBlock::GetPaletteCategory’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(139): error C3668: ‘UTextBlock::OnCreationFromPalette’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(142): error C3668: ‘UTextBlock::GetLabelMetadata’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(149): error C3668: ‘UTextBlock::RebuildWidget’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(150): error C3668: ‘UTextBlock::OnBindingChanged’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C2440: ‘return’: cannot convert from ‘UTextBlock *’ to ‘UObject *’
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(15): error C2504: ‘UTextLayoutWidget’: base class undefined
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C3646: ‘Super’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(75): error C3646: ‘TextDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(75): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(83): error C3646: ‘ColorAndOpacityDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(83): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(99): error C3646: ‘ShadowColorAndOpacityDelegate’: unknown override specifier
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(99): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(128): error C3668: ‘UTextBlock::SynchronizeProperties’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(132): error C3668: ‘UTextBlock::ReleaseSlateResources’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(137): error C3668: ‘UTextBlock::GetEditorIcon’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(138): error C3668: ‘UTextBlock::GetPaletteCategory’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(139): error C3668: ‘UTextBlock::OnCreationFromPalette’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(142): error C3668: ‘UTextBlock::GetLabelMetadata’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(149): error C3668: ‘UTextBlock::RebuildWidget’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(150): error C3668: ‘UTextBlock::OnBindingChanged’: method with override specifier ‘override’ did not override any base class methods
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): error C2440: ‘return’: cannot convert from ‘UTextBlock *’ to ‘UObject *’
C:\Program Files\Epic Games\4.11\Engine\Source\Runtime\UMG\Public\Components\TextBlock.h(16): note: Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
-------- End Detailed Actions Stats -----------------------------------------------------------
ERROR: UBT ERROR: Failed to produce item: C:\Work_backup\Unreal Projects\ComponentRPG 4.11\Binaries\Win64\UE4Editor-ComponentRPG.dll
Total build time: 57.67 seconds

Hello,

Looking at the error messages you have provided, it seems that there are quite a few errors that have popped up from upgrading your project. I’d recommend working your way through the error messages and attempting to resolve each one.

Upgrading a project, especially one that contains code, will often result in numerous errors that arise from changes made to the engine, including API changes that will require you to make alterations to your code and work through errors in order to get it working again.

Have a great day

First, I never touch the base TextBlock.h nor inherit any from it.
The only part that might break it will be :

UFUNCTION(BlueprintCallable, Category = "UMG Game")
		FText GetStatPointString_Effectiveness();

FText UComponentRPG_CharacterHUD::GetStatPointString_Effectiveness()
{
	FString StringManipulationHere = "ManyThingsThatModifiedFString";
	return FText::FromString(StringManipulationHere);
}

and in blueprint, I called this function to fill FText on UI/UMG textblock (which is on UserWidget).
This is the only interaction between me and TextBlock on my c++ side of the project.

Can you provide me the step to fix this when I can’t open my editor (it refuse to compile)?

Ps. The error is not really useful too when most of it said “method with override specifier ‘override’ did not override any base class methods” when I can’t edit the source (because it’s in the engine folder, which I shouldn’t touch it anyway)

editted : add more information

Try deleting your Saved and Intermediate folders from the 4.10 version of the project, and then upgrading again.

If you do this and upgrade again and still see errors, you’ll need to open the project in Visual Studio and figure out what errors you are seeing. These are likely changes to the code between 4.10 and 4.11 that you’ll need to resolve. It could be something as simple as you were using something that was public but is now private, and will need to be accessed in a different manner.

Hmm, found the fix.
I don’t know it make any sense, but I’ll post it anyway.

I deleted both folders. And it’s still complaining so I went ahead and search for “TextBlock.h” because clearly that guy is the only one who complaining about this upgrading and found this one line :

#include "TextBlock.h"

is included in my BaseUserWidget.h class. I didn’t use it for anything, just include and left it there (I used it for experimenting something before, but already remove all the experimental code).

I deleted that one line and now it compiles properly.

Ps. Yeah, after deleted those folders, I’m 100% sure there is something/legacy/leftover wrong with my c++ side, I didn’t think include random header without using it will cause problem. Thanks for your help :slight_smile:

hi professionals, i am new in UE. when am compile and click GenerateProjectFiles.bat, i have found different type of error… please help

[link text][2]