Autor Wątek: Kompilowanie do HTML5 - problem z linkowaniem assimpa  (Przeczytany 703 razy)

Offline Montjet

  • Użytkownik

# Marzec 01, 2018, 16:06:34
Cześć,
skompilowałem sobie assimpa (statycznego, bez dll) w wersji x64 - w edytorze assimp działa prawidłowo.
Modele ładują się poprawnie.

Problem jest jednak z zbudowaniem HTML5.
To samo zresztą jest z pluginem RuntimeMeshComponent.

Błąd i w visualu i w edytorze:
UnrealBuildTool: error: unresolved symbol: _ZNK6Assimp8Importer14GetErrorStringEv
 UnrealBuildTool: error: unresolved symbol: _ZN6Assimp8ImporterD1Ev
 UnrealBuildTool: error: unresolved symbol: _ZN6Assimp8Importer18ReadFileFromMemoryEPKvjjPKc
 UnrealBuildTool: error: unresolved symbol: _ZN6Assimp8Importer8ReadFileEPKcj
 UnrealBuildTool: error: unresolved symbol: _ZN6Assimp8ImporterC1Ev
 UnrealBuildTool: error: unresolved symbol: _ZN23FRuntimeMeshIndexTraitsItE7Is32BitE

Są to statyczne liby, także nie wiem co o tym myśleć.
Jakiś pomysł jak to naprawić?

Build.cs:
// Fill out your copyright notice in the Description page of Project Settings.
 
 using UnrealBuildTool;
 using System.IO;
 
 public class HomeProject : ModuleRules
 {
     public HomeProject(ReadOnlyTargetRules Target) : base(Target)
     {
         PCHUsage = PCHUsageMode.UseExplicitOrSharedPCHs;
     
         PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "Http", "Json", "JsonUtilities", "ShaderCore", "RenderCore", "RHI", "RuntimeMeshComponent" });
 
         PrivateDependencyModuleNames.AddRange(new string[] {  });
 
         //PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "assimp-vc140-mt.lib"));
 
 
         string PathToProject = "C:\\Users\\Adam\\Documents\\Unreal Projects\\HomeProject";
         PublicIncludePaths.Add(Path.Combine(PathToProject, "Source\\HomeProject\\include"));
         string PlatformString = (Target.Platform == UnrealTargetPlatform.Win64) ? "Win64" : "Win32";
         string LibrariesPath = Path.Combine(PathToProject, "Binaries", PlatformString);
 
         PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "assimp-vc140-mt.lib"));
PublicAdditionalLibraries.Add(Path.Combine(LibrariesPath, "zlibstatic.lib"));
 
         // Uncomment if you are using Slate UI
         // PrivateDependencyModuleNames.AddRange(new string[] { "Slate", "SlateCore" });
 
         // Uncomment if you are using online features
         // PrivateDependencyModuleNames.Add("OnlineSubsystem");
 
         // To include OnlineSubsystemSteam, add it to the plugins section in your uproject file with the Enabled attribute set to true
     }

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline karol57

  • Użytkownik

# Marzec 02, 2018, 19:27:10
Nie wiem jak dokładnie to wygląda, ale _ZN... wskazuje na to, że ten cały UnrealBuildTool używa gcc, a ty zbudowałeś assimpa używając Visuala. Musisz go skompilować odpowiednią wersją GCC i powinno działać.