0
\$\begingroup\$

I've already tried installing the Windows 8.1 SDK, but that did not work. Any Help? I'm running on windows 10 using visual studio 2017. I got this error when I created the project.

Error Log:

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

Running C:/Program Files/Epic Games/UE_4.15/Engine/Binaries/DotNET/UnrealBuildTool.exe ThisIsGoingToWork Development Win64 -project="C:/Users/AaronX/Documents/Unreal Projects/ThisIsGoingToWork/ThisIsGoingToWork.uproject" -editorrecompile -progress -NoHotReloadFromIDE
Performing full C++ include scan (building a new target)
Creating makefile for ThisIsGoingToWork (no existing makefile)
@progress push 5%
Parsing headers for ThisIsGoingToWorkEditor
  Running UnrealHeaderTool "C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\ThisIsGoingToWork.uproject" "C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Intermediate\Build\Win64\ThisIsGoingToWorkEditor\Development\ThisIsGoingToWorkEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -installed
Reflection code generated for ThisIsGoingToWorkEditor in 8.3515565 seconds
@progress pop
Performing 9 actions (3 in parallel)
[2/9] Resource ModuleVersionResource.rc.inl
[3/9] Resource PCLaunch.rc
PCH.ThisIsGoingToWork.cpp
ThisIsGoingToWorkGameMode.cpp
ThisIsGoingToWorkCharacter.cpp
ThisIsGoingToWork.cpp
ThisIsGoingToWork.generated.cpp
[8/9] Link UE4Editor-ThisIsGoingToWork.dll
[9/9] Link UE4Editor-ThisIsGoingToWork.lib
   Creating library C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-ThisIsGoingToWork.lib and object C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-ThisIsGoingToWork.exp
   Creating library C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-ThisIsGoingToWork.suppressed.lib and object C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor-ThisIsGoingToWork.suppressed.exp
ThisIsGoingToWorkGameMode.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AGameModeBase::SetPause(class APlayerController *,class TBaseDelegate<bool>)" (?SetPause@AGameModeBase@@UEAA_NPEAVAPlayerController@@V?$TBaseDelegate@_N$$$V@@@Z)
ThisIsGoingToWork.generated.cpp.obj : error LNK2001: unresolved external symbol "public: virtual bool __cdecl AGameModeBase::SetPause(class APlayerController *,class TBaseDelegate<bool>)" (?SetPause@AGameModeBase@@UEAA_NPEAVAPlayerController@@V?$TBaseDelegate@_N$$$V@@@Z)
C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Binaries\Win64\UE4Editor-ThisIsGoingToWork.dll : fatal error LNK1120: 1 unresolved externals
ERROR: UBT ERROR: Failed to produce item: C:\Users\AaronX\Documents\Unreal Projects\ThisIsGoingToWork\Binaries\Win64\UE4Editor-ThisIsGoingToWork.dll
Total build time: 92.21 seconds (Local executor: 0.00 seconds)
\$\endgroup\$
1
\$\begingroup\$

You can see that your project compiles, because it gets to this point in the log:

Link UE4Editor-ThisIsGoingToWork.lib 

This indicates all the source files that go into ThisIsGoingToWork.lib, which is the main module of your UE4 game in this scenario, have successfully compiled and the linker is now being invoked to join them all together.

During the link, you get this error:

error LNK2001: unresolved external symbol "public: virtual bool __cdecl AGameModeBase::SetPause(class APlayerController *,class TBaseDelegate)" 

This means the linker couldn't find a definition for a symbol called AGameModeBase::SetPause. This symbol should be provided by UE's engine module. It consequently appears as if you are not linking the Engine module; make sure your projects .Build.cs file refers to the Engine module in the appropriate dependency section.

\$\endgroup\$
  • \$\begingroup\$ I'm new to unreal engine. Does this count as the engine module being referred to? PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "HeadMountedDisplay" }); \$\endgroup\$ – Aaron Apr 2 '17 at 16:46
  • \$\begingroup\$ That is what I'd expect to see, so it seems like the problem is elsewhere; fundamentally the symbol isn't being linked it or provided. It's not immediately clear what else could be the cause from the limited information in your original post though :( \$\endgroup\$ – Josh Apr 3 '17 at 16:14
0
\$\begingroup\$

If the other answers don't work for you, try mine.

I spent almost half day to search for the solution to this. Finally, I found something useful:

You can refer to these two links above. Both the same, either one will be fine.

For convenience, I copied it:

This is a known issue with changing to 4.12 and using tasks. It can be resolved by simply adding “GameplayTasks” to the PublicDependencyModuleNames section inside your ‘ProjectName’.Build.cs For example:

PublicDependencyModuleNames.AddRange(new string[] { “Core”, “CoreUObject”, “Engine”, “InputCore”, “AIModule”, “GameplayTasks” });*

YourProjectName.Build.cs PublicDependencyModuleNames GameplayTasks

Add GameplayTasks to PublicDependencyModuleNames of the YourProjectName.Build.cs file~.

Different modules you use, Differ the Add.

\$\endgroup\$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.