WrapperModule.Build.cs(87,6) : error CS1501: No overload for method 'Add' takes 3 arguments
slonopotamus opened this issue · 0 comments
slonopotamus commented
Way to reproduce
- Windows
ue4-docker build 4.20.3 --no-engine --exclude debug --exclude ddc --exclude templates
ue4-docker test 4.20.3
Expected
ue4-docker test
passes
Actual
While compiling C:\Users\ContainerAdministrator\AppData\Local\Temp\tmp3yco9x9h\BasicCxx\Intermediate\Build\BuildRules\BasicCxxModuleRules.dll:
c:\Users\ContainerAdministrator\AppData\Local\temp\tmp3yco9x9h\BasicCxx\Source\WrapperModule\WrapperModule.Build.cs(87,6) : error CS1501: No overload for method 'Add' takes 3 arguments
c:\Users\ContainerAdministrator\AppData\Local\temp\tmp3yco9x9h\BasicCxx\Source\WrapperModule\WrapperModule.Build.cs(97,6) : error CS1501: No overload for method 'Add' takes 3 arguments
c:\Users\ContainerAdministrator\AppData\Local\temp\tmp3yco9x9h\BasicCxx\Source\WrapperModule\WrapperModule.Build.cs(149,5) : error CS1501: No overload for method 'Add' takes 3 arguments
c:\Users\ContainerAdministrator\AppData\Local\temp\tmp3yco9x9h\BasicCxx\Source\WrapperModule\WrapperModule.Build.cs(173,4) : error CS1501: No overload for method 'Add' takes 3 arguments
In 4.20, RuntimeDependencyList
in fact doesn't have 3-arg Add method.
conan-ue4cli
selects v2 template for 4.20.
And v2 template tries to call 3-arg Add method.
Note that even v1 template does the same thing, so 4.19 is broken the same way.
3-arg Add
method was only added in 4.21: https://github.com/EpicGames/UnrealEngine/commit/2d3ea5e946fd004fad40624ba9f51b6d2a1b4875
Change 4234711 by Ben.Marsh
UBT: Runtime dependencies can now be copied to output directories as part of the build. When adding a runtime dependency, an optional source location can be specified to copy from. Both the source and target paths can use variables can be used as part of the path, eg. $(OutputDir), $(ModuleDir), $(PluginDir).
Example usage (from a .build.cs file):
RuntimeDependencies.Add("$(OutputDir)/Foo.dll", "$(PluginDir)/Source/ThirdParty/Foo.dll", StagedFileType.NonUFS);