wongfei / ue4-mediapipe-plugin

UE4 MediaPipe plugin
Apache License 2.0
294 stars 99 forks source link

UE503 - Stuck at 75% after compiling while using Unreal 5.0.3 #52

Closed fpibbs closed 2 years ago

fpibbs commented 2 years ago

The plugin seems compiling correctly, but remains stuck at 75% while loading the demo project.

image

Recompile through VS19 going positive:

Ricompilazione avviata... 1>------ Inizio ricompilazione: Progetto: MediaPipeDemo, Configurazione: Development_Editor x64 ------ 1>Cleaning MediaPipeDemoEditor and UnrealHeaderTool binaries... 1>Using bundled DotNet SDK 1>Log file: C:\Users\Francesco\AppData\Local\UnrealBuildTool\Log.txt 1>Creating makefile for MediaPipeDemoEditor (no existing makefile) 1>Parsing headers for MediaPipeDemoEditor 1> Running UnrealHeaderTool "C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\MediaPipeDemo.uproject" "C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Intermediate\Build\Win64\MediaPipeDemoEditor\Development\MediaPipeDemoEditor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors -abslog="C:\Users\Francesco\AppData\Local\UnrealBuildTool\Log_UHT.txt" -installed 1>Reflection code generated for MediaPipeDemoEditor in 4,5386259 seconds 1>Building MediaPipeDemoEditor... 1>Using Visual Studio 2019 14.29.30145 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.29.30133) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10). 1>[Adaptive Build] Excluded from MediaPipe unity file: DynamicTexture.cpp, MediaPipeClassificationObserverComponent.cpp, MediaPipeFaceMeshObserverComponent.cpp, MediaPipeLandmarkObserverComponent.cpp, MediaPipeModule.cpp, MediaPipeObserverComponent.cpp, MediaPipePipelineComponent.cpp, MediaPipePresenceObserverComponent.cpp 1>[Adaptive Build] Excluded from MediaPipeDemo unity file: MediaPipeCppExample.cpp, MediaPipeDemo.cpp 1>Determining max actions to execute in parallel (4 physical cores, 8 logical cores) 1> Executing up to 4 processes, one per physical core 1>Building 44 actions with 4 processes... 1>[1/44] Resource Default.rc2 1>[2/44] Compile optical_flow_field_data.pb.cc 1>[3/44] Compile time_series_header.pb.cc 1>[4/44] Compile environment.pb.cc 1>[5/44] Compile MediaPipe.init.gen.cpp 1>[6/44] Compile anchor.pb.cc 1>[7/44] Compile mesh_3d.pb.cc 1>[8/44] Compile image_file_properties.pb.cc 1>[9/44] Compile MediaPipeClassificationObserverComponent.gen.cpp 1>[10/44] Compile image_format.pb.cc 1>[11/44] Compile landmark.pb.cc 1>[12/44] Compile rect.pb.cc 1>[13/44] Compile rasterization.pb.cc 1>[14/44] Compile MediaPipeLandmarkObserverComponent.gen.cpp 1>[15/44] Compile locus.pb.cc 1>[16/44] Compile MediaPipePresenceObserverComponent.cpp 1>[17/44] Compile matrix_data.pb.cc 1>[18/44] Compile MediaPipeObserverComponent.cpp 1>[19/44] Compile detection.pb.cc 1>[20/44] Compile MediaPipeFaceMeshObserverComponent.cpp 1>[21/44] Compile MediaPipeObserverComponent.gen.cpp 1>[22/44] Compile classification.pb.cc 1>[23/44] Compile SharedPCH.Engine.ShadowErrors.cpp 1>[24/44] Compile MediaPipePipelineComponent.gen.cpp 1>[25/44] Compile geometry_pipeline_metadata.pb.cc 1>[26/44] Compile MediaPipePresenceObserverComponent.gen.cpp 1>[27/44] Compile DynamicTexture.cpp 1>[28/44] Compile location_data.pb.cc 1>[29/44] Compile MediaPipeModule.cpp 1>[30/44] Compile MediaPipePipelineComponent.cpp 1>[31/44] Compile face_geometry.pb.cc 1>[32/44] Compile MediaPipeDemo.init.gen.cpp 1>[33/44] Compile MediaPipeFaceMeshObserverComponent.gen.cpp 1>[34/44] Resource Default.rc2 1>[35/44] Compile MediaPipeDemo.cpp 1>[36/44] Compile MediaPipeCppExample.gen.cpp 1>[37/44] Compile MediaPipeCppExample.cpp 1>[38/44] Link UnrealEditor-MediaPipeDemo.lib 1> Creazione della libreria C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipeDemo\UnrealEditor-MediaPipeDemo.lib e dell'oggetto C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipeDemo\UnrealEditor-MediaPipeDemo.exp 1>[39/44] Compile MediaPipeLandmarkObserverComponent.cpp 1>[40/44] Compile MediaPipeClassificationObserverComponent.cpp 1>[41/44] Link UnrealEditor-MediaPipe.lib 1> Creazione della libreria C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Plugins\MediaPipe\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipe\UnrealEditor-MediaPipe.lib e dell'oggetto C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Plugins\MediaPipe\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipe\UnrealEditor-MediaPipe.exp 1>[42/44] Link UnrealEditor-MediaPipe.dll 1> Creazione della libreria C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Plugins\MediaPipe\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipe\UnrealEditor-MediaPipe.suppressed.lib e dell'oggetto C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Plugins\MediaPipe\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipe\UnrealEditor-MediaPipe.suppressed.exp 1>[43/44] Link UnrealEditor-MediaPipeDemo.dll 1> Creazione della libreria C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipeDemo\UnrealEditor-MediaPipeDemo.suppressed.lib e dell'oggetto C:\Users\Francesco\Desktop\ue4-mediapipe-plugin-master\Intermediate\Build\Win64\UnrealEditor\Development\MediaPipeDemo\UnrealEditor-MediaPipeDemo.suppressed.exp 1>[44/44] WriteMetadata MediaPipeDemoEditor.target 1>Total time in Parallel executor: 139,31 seconds 1>Total execution time: 149,50 seconds ========== Ricompilazione: 1 completate, 0 non riuscite, 0 ignorate ==========

endink commented 2 years ago

maybe you need to copy plugin dll (include opencv) to project "Binaries\Win64" folder, or use PublicDelayLoadDLLs.Add feature

fpibbs commented 2 years ago

Could you please explain better these two procedures?

endink commented 2 years ago

please see ue doc:

https://docs.unrealengine.com/5.0/en-US/integrating-third-party-libraries-into-unreal-engine/

specifically the “Delay Loading DLLs” section.

BTW, the author says it's a UE5 bug, I dont think so, but I'm not sure, the "75%" problem is generally caused by the inability to load the required DLLs at startup, you have two options to pass it:

  1. use lazy loading
  2. copied directly to the Binaries folder at the root of the project (/Binaries)