code4game/glTFForUE4

"Cannot resolve symbol" when building with engine

GSGBen opened this issue · 5 comments

I have a custom 4.24 engine version, so I have to rebuild plugins I download. My usual process is:

  • Extract and add to subfolder of Engine\Plugins\
  • Run GenerateProjectFiles.bat in engine directory
  • Right click on game .uproject and Regenerate Visual Studio project files
  • Open the games Visual Studio solution
  • Open a plugin source file
  • Ctrl+B

This works with other plugins. However with this one I get unresolved symbol errors which point to the extra libraries you're using.

Any idea how I can fix this and get this building?

Can you paste more log about the unresolved symbol errors?

Let me guess. Can you find three files below for windows 64?

image

image

If you can't find them, you have to make sure your git supports LFS and pull the LFS file by git lfs pull. This project uses the LFS to store compiled static library files. More about the git LFS: https://git-lfs.github.com/

If the size of the file is incorrect, you have to follow the instruction below (from the project's README.md).

If you get the message batch response: This repository is over its data quota. Account responsible for LFS bandwidth should purchase more data packs to restore access. when you clone or pull from github, you can pull the project from gitlab. I don't have enough money to buy LFS bandwidth. 😭. The LFS is excellent, but its free bandwidth is too small for an open-source project like this.

itch.io opencollective.com

Here are the errors:

Severity	Code	Description	Project	File	Line	Suppression State
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(direct_bit_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(dynamic_integer_points_kd_tree_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(float_points_tree_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(attribute_octahedron_transform.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_normal_attribute_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_quantization_attribute_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(attribute_transform.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(attribute_quantization_transform.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_attribute_corner_table.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(attributes_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_attribute_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_integer_attribute_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(kd_tree_attributes_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(metadata.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(geometry_metadata.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(corner_table.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(metadata_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_edgebreaker_decoder_impl.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_attribute_decoders_controller.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(symbol_decoding.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_sequential_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_cloud_kd_tree_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_cloud_sequential_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(data_buffer.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_attribute.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_cloud_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_edgebreaker_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltf.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(options.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_cloud.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(decode.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_integer_attribute_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(float_points_tree_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(sequential_attribute_decoders_controller.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(kd_tree_attributes_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(metadata.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(geometry_metadata.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_cloud_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_sequential_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(metadata_decoder.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(mesh_edgebreaker_decoder_impl.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltf.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(options.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(decode.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\dracodec.lib(point_attribute.obj)	1	
Error	LNK1120	2 unresolved externals	UE4	U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Binaries\Win64\UE4Editor-glTFForUE4.dll	1	
Warning		Monolithic headers should not be used by this module. Please change it to explicitly include the headers it needs.	UE4	U:\UE4\UnrealEngine\Engine\Source\Runtime\Slate\Public\SlateBasics.h	6	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltfparser.obj)	1	
Error	LNK2001	unresolved external symbol __CxxFrameHandler4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltf.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltfparser.obj)	1	
Error	LNK2001	unresolved external symbol __GSHandlerCheck_EH4	UE4	U:\UE4\Games\GT\Intermediate\ProjectFiles\libgltf.lib(libgltf.obj)	1	
Error	LNK1120	2 unresolved externals	UE4	U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Binaries\Win64\UE4Editor-glTFForUE4Ed.dll	1	
Error	MSB3075	The command "U:\UE4\UnrealEngine\Engine\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.	UE4	C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets	44	

Here's the full output log:

1>------ Build started: Project: UE4, Configuration: Development_Editor x64 ------
1>Using 'git status' to determine working set for adaptive non-unity build (U:\UE4\UnrealEngine).
1>Creating makefile for UE4Editor (no existing makefile)
1>Creating makefile for UnrealHeaderTool (no existing makefile)
1>Parsing headers for UE4Editor
1>  Running UnrealHeaderTool UE4Editor "U:\UE4\UnrealEngine\Engine\Intermediate\Build\Win64\UE4Editor\Development\UE4Editor.uhtmanifest" -LogCmds="loginit warning, logexit warning, logdatabase error" -Unattended -WarningsAsErrors
1>Reflection code generated for UE4Editor in 139.6931964 seconds
1>Creating makefile for ShaderCompileWorker (no existing makefile)
1>Building UE4Editor and ShaderCompileWorker...
1>Using Visual Studio 2017 14.16.27038 toolchain (C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.16.27023) and Windows 10.0.18362.0 SDK (C:\Program Files (x86)\Windows Kits\10).
1>Building 9 actions with 8 processes...
1>  [1/9] Module.glTFForUE4Ed.gen.cpp
1>  [2/9] Module.glTFForUE4.gen.cpp
1>  [3/9] Module.glTFForUE4.cpp
1>  [4/9] UE4Editor-glTFForUE4.lib
1>     Creating library U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4\UE4Editor-glTFForUE4.lib and object U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4\UE4Editor-glTFForUE4.exp
1>  [5/9] UE4Editor-glTFForUE4.dll
1>     Creating library U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4\UE4Editor-glTFForUE4.suppressed.lib and object U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4\UE4Editor-glTFForUE4.suppressed.exp
1>dracodec.lib(direct_bit_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(dynamic_integer_points_kd_tree_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(float_points_tree_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(attribute_octahedron_transform.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_normal_attribute_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_quantization_attribute_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(attribute_transform.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(attribute_quantization_transform.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(mesh_attribute_corner_table.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(attributes_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_attribute_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_integer_attribute_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(kd_tree_attributes_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(metadata.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(geometry_metadata.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(corner_table.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(metadata_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(mesh_edgebreaker_decoder_impl.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_attribute_decoders_controller.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(symbol_decoding.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(mesh_sequential_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(point_cloud_kd_tree_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(point_cloud_sequential_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(data_buffer.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(point_attribute.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(mesh.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(point_cloud_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(mesh_edgebreaker_decoder.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>libgltf.lib(libgltf.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(options.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(point_cloud.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(decode.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>dracodec.lib(sequential_integer_attribute_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(float_points_tree_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(sequential_attribute_decoders_controller.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(kd_tree_attributes_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(metadata.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(geometry_metadata.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(point_cloud_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(mesh_sequential_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(metadata_decoder.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(mesh_edgebreaker_decoder_impl.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>libgltf.lib(libgltf.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(options.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(decode.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>dracodec.lib(point_attribute.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Binaries\Win64\UE4Editor-glTFForUE4.dll : fatal error LNK1120: 2 unresolved externals
1>  [6/9] Module.glTFForUE4Ed.cpp
1>U:\UE4\UnrealEngine\Engine\Source\Runtime\Slate\Public\SlateBasics.h(6): warning : Monolithic headers should not be used by this module. Please change it to explicitly include the headers it needs.
1>  [7/9] UE4Editor-glTFForUE4Ed.lib
1>     Creating library U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4Ed\UE4Editor-glTFForUE4Ed.lib and object U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4Ed\UE4Editor-glTFForUE4Ed.exp
1>  [8/9] UE4Editor-glTFForUE4Ed.dll
1>     Creating library U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4Ed\UE4Editor-glTFForUE4Ed.suppressed.lib and object U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Intermediate\Build\Win64\UE4Editor\Development\glTFForUE4Ed\UE4Editor-glTFForUE4Ed.suppressed.exp
1>libgltf.lib(libgltfparser.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>libgltf.lib(libgltf.obj) : error LNK2001: unresolved external symbol __CxxFrameHandler4
1>libgltf.lib(libgltfparser.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>libgltf.lib(libgltf.obj) : error LNK2001: unresolved external symbol __GSHandlerCheck_EH4
1>U:\UE4\UnrealEngine\Engine\Plugins\Editor\glTFForUE4\Binaries\Win64\UE4Editor-glTFForUE4Ed.dll : fatal error LNK1120: 2 unresolved externals
1>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\IDE\VC\VCTargets\Microsoft.MakeFile.Targets(44,5): error MSB3075: The command "U:\UE4\UnrealEngine\Engine\Build\BatchFiles\Build.bat -Target="UE4Editor Win64 Development" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" exited with code 5. Please verify that you have sufficient rights to run this command.
1>Done building project "UE4.vcxproj" -- FAILED.
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

I also have those files:
image
image

Ok, I know the reason. You use Using Visual Studio 2017 14.16.27038 toolchain to compile the project, but my static lib files were compiled by vs2019. You have to compile the libgltf by yourself and reference github action of libgltf.

Ah, that makes sense. Thanks!

You are welcome. 😃