I am trying to add Enet to Unreal 4 but with no success.
The type of erros i get are:
UObject\UnrealType.h(3310): error C2504: 'TDoubleLinkedList' : base class undefined
Public\UObject\UnrealType.h(3310): error C2143: syntax error : missing ',' before '<'
UObject\UnrealType.h(3341): error C2143: syntax error : missing ';' before '*'
Public\UObject\UnrealType.h(3341): error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
What i have done:
Added folders with lib and includes:
“C:\Users\Eric\Documents\Unreal Projects\ProjectK61\ThirdParty\enet\Libraries\enetx64.lib”
C:\Users\Eric\Documents\Unreal Projects\ProjectK61\ThirdParty\enet\Includes\enet*The Include Files*
Added in my Build.cs
private string ModulePath
{
get { return Path.GetDirectoryName( RulesCompiler.GetModuleFilename( this.GetType().Name ) ); }
}
private string ThirdPartyPath
{
get { return Path.GetFullPath( Path.Combine( ModulePath, "../../ThirdParty/" ) ); }
}
public bool LoadThirdPartyLibs(TargetInfo Target)
{
bool isLibrarySupported = false;
if ((Target.Platform == UnrealTargetPlatform.Win64) || (Target.Platform == UnrealTargetPlatform.Win32))
{
isLibrarySupported = true;
string LibrariesPath = Path.Combine(ThirdPartyPath, "enet", "Libraries");
PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "enetx64.lib"));
}
if (isLibrarySupported)
{
// Include path
PublicIncludePaths.Add( Path.Combine(ThirdPartyPath, "enet", "Includes" ) );
}
Definitions.Add(string.Format( "WITH_ENET_BINDING={0}", isLibrarySupported ? 1 : 0 ) );
return isLibrarySupported;
}
Also added LoadThirdPartyLibs(Target); in public ProjectK61(TargetInfo Target)
I have successfully added enet on a previous project a year ago but i cant check how i did because i got no access to that project anymore…
Any idea what i am doing wrong?