Okay… I’ve been having a problem that I cannot resolve. I’m attempting to add a couple of new functions to my CPP class, but these are not showing up in my BP so I cannot access them.
I’ve been normally doing all my compiling with F7 from within VS and this has been working just fine all through development. Even now, if I compile through VS it tells me everything went through okay and that there were no errors. But my changes (additions) are not showing up anywhere in the editor.
I decided to use the “compile” button in the editor and it fails to compile from there. This is a selection of what I get from the compiler log:
Info Compiling game modules for hot reload
Info Performing 4 actions (4 in parallel)
Info LabyrinthLarry.generated.cpp
Info MoonLight.cpp
Info Labyrinth.cpp
Error d:\ueprojects\hmm\source\labyrinthlarry\MoonLight.h(11) : error C3668: 'AMoonLight::_getUObject': method with override specifier 'override' did not override any base class methods
Error d:\ueprojects\hmm\source\labyrinthlarry\MoonLight.h(11) : error C2065: 'LabyrinthLarry': undeclared identifier
Error d:\ueprojects\hmm\source\labyrinthlarry\Labyrinth.h(74) : error C3668: 'ALabyrinth::_getUObject': method with override specifier 'override' did not override any base class methods
Error d:\ueprojects\hmm\source\labyrinthlarry\Labyrinth.h(74) : error C2065: 'LabyrinthLarry': undeclared identifier
Error D:\UEProjects\HMM\Source\LabyrinthLarry\Labyrinth.h(74) : error C3668: 'ALabyrinth::_getUObject': method with override specifier 'override' did not override any base class methods
Error D:\UEProjects\HMM\Source\LabyrinthLarry\Labyrinth.h(74) : error C2065: 'LabyrinthLarry': undeclared identifier
Error D:\UEProjects\HMM\Source\LabyrinthLarry\MoonLight.h(11) : error C3668: 'AMoonLight::_getUObject': method with override specifier 'override' did not override any base class methods
Error D:\UEProjects\HMM\Source\LabyrinthLarry\MoonLight.h(11) : error C2065: 'LabyrinthLarry': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(24) : error C2661: 'FCompiledInDeferStruct::FCompiledInDeferStruct': no overloaded function takes 2 arguments
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(44) : error C2661: 'FCompiledInDeferStruct::FCompiledInDeferStruct': no overloaded function takes 2 arguments
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(64) : error C2661: 'FCompiledInDeferStruct::FCompiledInDeferStruct': no overloaded function takes 2 arguments
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(84) : error C2661: 'FCompiledInDeferStruct::FCompiledInDeferStruct': no overloaded function takes 2 arguments
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(141) : error C3861: 'FindExistingStructIfHotReload': identifier not found
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(144) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(145) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(146) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(147) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(148) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(171) : error C3861: 'FindExistingStructIfHotReload': identifier not found
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(174) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(176) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(177) : error C2065: 'RF_Native': undeclared identifier
Error D:\UEProjects\HMM\Intermediate\Build\Win64\UE4Editor\Inc\LabyrinthLarry\LabyrinthLarry.generated.cpp(195) : error C3861: 'FindExistingStructIfHotReload': identifier not found
I have no idea what happened or what might have changed since I last successfully compiled changes since I haven’t had to go back to the code for a long time now.
If I click on any of the errors, VS takes me either to the line with the GENERATED_BODY(), or lines of code within the *.generated.cpp file itself. I didn’t code any of these (obviously) so I have no idea what is wrong and where the problem is coming from!
HELP!
I can write my own code and fix it, but all this UE generated stuff… well, I can’t afford the time to dig through there and try to learn whatever it is their code is trying to do and why it is broken.
I need suggestions on how to fix this! I’m at a standstill until I can move on. I’m going to try to continue, but I’m really at a loss and don’t even know where to begin. Half tempted to uninstall and reinstall everything, but don’t really want to go through all of that.
EDIT: I just wanted to add that I’ve also tried going to File->Refresh Visual Studio Project, but that didn’t do anything either. (Don’t know if I should have expected it to, or not.) I’m a programmer, not a configurator. I don’t know if something got messed up with configuration files or anything. About a month ago my computer decided it was going to just go ahead and upgrade itself to Windows 10 without asking me, and I reverted back to 8 because there were things about my Windows 8 configuration that I have gotten used to doing, and rather like, and the Windows 10 upgrade threw a lot of that away. (Not that I’m a fan of Windows 8, but when you get used to something and things are working the way you want them to, there’s not much reason to change that drastically.)
EDIT2: About a month and a half ago I had problems and errors trying to package my project for play testing on other machines and had to migrate a lot of stuff to a blank project and back again, but I’ve not had any other problems until just now. (And my packages work just fine.)