HTML5 with Assimp - unresolved symbol

Hi, I am trying to compile my test project to HTML5.
Unfortunately, I got this errors (logs):

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

In the editor everything works fine.

My 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"));

        // 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
    }

Dll and lib have been pasted into /Binaries/Win64.
As i said in the editor works fine, so it’s so weird…
Any idea?

plugging your error to https://demangler.com/

i see the following:

 UnrealBuildTool: error: unresolved symbol: Assimp::Importer::GetErrorString() const
 UnrealBuildTool: error: unresolved symbol: Assimp::Importer::~Importer()
 UnrealBuildTool: error: unresolved symbol: Assimp::Importer::ReadFileFromMemory(void const*, unsigned int, unsigned int, char const*)
 UnrealBuildTool: error: unresolved symbol: Assimp::Importer::ReadFile(char const*, unsigned int)
 UnrealBuildTool: error: unresolved symbol: Assimp::Importer::Importer()
 UnrealBuildTool: error: unresolved symbol: FRuntimeMeshIndexTraits<unsigned short>::Is32Bit

There is no Assimp class in UE4… perhaps a plugin hasn’t been enabled? this may require “UE4 source” (i.e. not UE4 Launcher) - which will compile the plugin (or additional source codes you may have) for HTML5 builds. (you may need to re-run GenerateProjectFiles.bat if you have new source files added to the project – restart visual studio and build editor [just in case], start the editor and package for HTML5 again.)

I’m having this exact issue and I’ve found the answer. HTML5 export is using emscripten, which is using clang for compilation. You can’t use lib files for this; they need to be compiled into the llvm bitcode format, .bc. Then you include that in place of the .lib files. I’m still in the process of doing this so I could be wrong on some things, but I will update when successful.