Getting linux export working
This commit is contained in:
parent
45ffb51cb9
commit
41288b6693
6 changed files with 85 additions and 52 deletions
1
.gitignore
vendored
1
.gitignore
vendored
|
|
@ -3,6 +3,7 @@
|
||||||
# will have compiled files and executables
|
# will have compiled files and executables
|
||||||
debug/
|
debug/
|
||||||
target/
|
target/
|
||||||
|
ai_fighter/Package/
|
||||||
|
|
||||||
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
# Remove Cargo.lock from gitignore if creating an executable, leave it for libraries
|
||||||
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
# More information here https://doc.rust-lang.org/cargo/guide/cargo-toml-vs-cargo-lock.html
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,7 @@
|
||||||
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
"Microsoft.VisualStudio.Component.Windows11SDK.22621",
|
||||||
"Microsoft.VisualStudio.Workload.CoreEditor",
|
"Microsoft.VisualStudio.Workload.CoreEditor",
|
||||||
"Microsoft.VisualStudio.Workload.ManagedDesktop",
|
"Microsoft.VisualStudio.Workload.ManagedDesktop",
|
||||||
|
"Microsoft.VisualStudio.Workload.NativeCrossPlat",
|
||||||
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
"Microsoft.VisualStudio.Workload.NativeDesktop",
|
||||||
"Microsoft.VisualStudio.Workload.NativeGame"
|
"Microsoft.VisualStudio.Workload.NativeGame"
|
||||||
]
|
]
|
||||||
|
|
|
||||||
9
ai_fighter/AI_Fight_Sim/BuildConfiguration.xml
Normal file
9
ai_fighter/AI_Fight_Sim/BuildConfiguration.xml
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
<?xml version="1.0" encoding="utf-8" ?>
|
||||||
|
<Configuration xmlns="https://www.unrealengine.com/BuildConfiguration">
|
||||||
|
<BuildConfiguration>
|
||||||
|
<LinuxPlatform>
|
||||||
|
<AdditionalCompilerArguments>-fopenmp</AdditionalCompilerArguments>
|
||||||
|
<AdditionalLinkerArguments>-fopenmp</AdditionalLinkerArguments>
|
||||||
|
</LinuxPlatform>
|
||||||
|
</BuildConfiguration>
|
||||||
|
</Configuration>
|
||||||
|
|
@ -1,59 +1,79 @@
|
||||||
// Copyright Epic Games, Inc. All Rights Reserved.
|
// Copyright Epic Games, Inc. All Rights Reserved.
|
||||||
|
|
||||||
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using UnrealBuildTool;
|
using UnrealBuildTool;
|
||||||
|
|
||||||
public class NeuralNetworkAIController : ModuleRules
|
public class NeuralNetworkAIController : ModuleRules
|
||||||
{
|
{
|
||||||
public NeuralNetworkAIController(ReadOnlyTargetRules Target) : base(Target)
|
public NeuralNetworkAIController(ReadOnlyTargetRules Target) : base(Target)
|
||||||
{
|
{
|
||||||
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
PCHUsage = ModuleRules.PCHUsageMode.UseExplicitOrSharedPCHs;
|
||||||
|
|
||||||
PublicIncludePaths.AddRange(
|
PublicIncludePaths.AddRange(
|
||||||
new string[] {
|
new string[] {
|
||||||
// ... add public include paths required here ...
|
Path.Combine(ModuleDirectory, "ThirdParty", "FANN", "include")
|
||||||
Path.Combine(ModuleDirectory, "ThirdParty", "FANN", "include")
|
|
||||||
}
|
}
|
||||||
);
|
);
|
||||||
PublicSystemLibraryPaths.Add(Path.Combine(ModuleDirectory, "ThirdParty", "FANN", "include"));
|
|
||||||
|
|
||||||
|
PrivateIncludePaths.AddRange(
|
||||||
|
new string[] {
|
||||||
|
// ... add other private include paths required here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
PrivateIncludePaths.AddRange(
|
PublicDependencyModuleNames.AddRange(
|
||||||
new string[] {
|
new string[]
|
||||||
// ... add other private include paths required here ...
|
{
|
||||||
}
|
"Core",
|
||||||
);
|
// ... add other public dependencies that you statically link with here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
PrivateDependencyModuleNames.AddRange(
|
||||||
|
new string[]
|
||||||
|
{
|
||||||
|
"CoreUObject",
|
||||||
|
"Engine",
|
||||||
|
"Slate",
|
||||||
|
"SlateCore",
|
||||||
|
// ... add private dependencies that you statically link with here ...
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
PublicDependencyModuleNames.AddRange(
|
DynamicallyLoadedModuleNames.AddRange(
|
||||||
new string[]
|
new string[]
|
||||||
{
|
{
|
||||||
"Core",
|
// ... add any modules that your module loads dynamically here ...
|
||||||
// ... add other public dependencies that you statically link with here ...
|
}
|
||||||
}
|
);
|
||||||
);
|
|
||||||
|
|
||||||
|
// FANN Library configuration - MULTI-PLATFORM SUPPORT
|
||||||
|
string FannPath = Path.Combine(ModuleDirectory, "ThirdParty", "FANN");
|
||||||
|
string IncludePath = Path.Combine(FannPath, "include");
|
||||||
|
string LibraryPath = Path.Combine(FannPath, "lib");
|
||||||
|
|
||||||
PrivateDependencyModuleNames.AddRange(
|
PublicIncludePaths.Add(IncludePath);
|
||||||
new string[]
|
|
||||||
{
|
|
||||||
"CoreUObject",
|
|
||||||
"Engine",
|
|
||||||
"Slate",
|
|
||||||
"SlateCore",
|
|
||||||
// ... add private dependencies that you statically link with here ...
|
|
||||||
}
|
|
||||||
);
|
|
||||||
|
|
||||||
|
if (Target.Platform == UnrealTargetPlatform.Win64)
|
||||||
|
{
|
||||||
|
// Windows linking
|
||||||
|
PublicAdditionalLibraries.Add(Path.Combine(LibraryPath, "fann.lib"));
|
||||||
|
|
||||||
DynamicallyLoadedModuleNames.AddRange(
|
// Add runtime dependencies for Windows DLLs
|
||||||
new string[]
|
string DllPath = Path.Combine(FannPath, "bin", "fann.dll");
|
||||||
{
|
RuntimeDependencies.Add(DllPath);
|
||||||
// ... add any modules that your module loads dynamically here ...
|
}
|
||||||
//Path.Combine(ModuleDirectory, "ThirdParty", "FANN", "bin", "fann.dll")
|
else if (Target.Platform == UnrealTargetPlatform.Linux)
|
||||||
}
|
{
|
||||||
);
|
// Linux linking - using static library (recommended)
|
||||||
|
string LinuxLibraryPath = Path.Combine(LibraryPath, "Linux", "x86_64-unknown-linux-gnu");
|
||||||
|
PublicAdditionalLibraries.Add(Path.Combine(LinuxLibraryPath, "libfann.a"));
|
||||||
|
|
||||||
PublicAdditionalLibraries.Add(Path.Combine(ModuleDirectory, "ThirdParty", "FANN", "lib", "fann.lib"));
|
// Alternative: If using shared library (.so)
|
||||||
|
// string SoPath = Path.Combine(LinuxLibraryPath, "libfann.so");
|
||||||
|
//PublicAdditionalLibraries.Add(SoPath);
|
||||||
|
//RuntimeDependencies.Add("$(BinaryOutputDir)/libfann.so", SoPath);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -8,8 +8,10 @@ public class AI_Fight_SimTarget : TargetRules
|
||||||
public AI_Fight_SimTarget(TargetInfo Target) : base(Target)
|
public AI_Fight_SimTarget(TargetInfo Target) : base(Target)
|
||||||
{
|
{
|
||||||
Type = TargetType.Game;
|
Type = TargetType.Game;
|
||||||
DefaultBuildSettings = BuildSettingsVersion.V2;
|
DefaultBuildSettings = BuildSettingsVersion.V5;
|
||||||
|
IncludeOrderVersion = EngineIncludeOrderVersion.Latest;
|
||||||
|
CppStandard = CppStandardVersion.Cpp20;
|
||||||
|
|
||||||
ExtraModuleNames.AddRange( new string[] { "AI_Fight_Sim" } );
|
ExtraModuleNames.AddRange( new string[] { "AI_Fight_Sim" } );
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,7 +1,7 @@
|
||||||
#include "CoreMinimal.h"
|
#include "CoreMinimal.h"
|
||||||
#include "Engine/GameInstance.h"
|
#include "Engine/GameInstance.h"
|
||||||
#include "Misc/FileHelper.h"
|
#include "Misc/FileHelper.h"
|
||||||
#include "HAL/PlatformFilemanager.h"
|
#include "HAL/PlatformFileManager.h"
|
||||||
#include "NeuralNetworkCommandLineParsing.generated.h"
|
#include "NeuralNetworkCommandLineParsing.generated.h"
|
||||||
|
|
||||||
UCLASS()
|
UCLASS()
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue