Hey everybody!
This is probably too much information for such a simple question but I wanted to provide some context. Ignore everything
after the next line if you know the answer.
Is PrivateDependencyModuleNames.AddRange() what is responsible for the linking part of the build process?
I’m trying to build libUE4Editor-OculusRift.so in the style the Unreal Build Tool was intended to be used but I think I’m doing it
wrong or don’t really understand build systems.
Here is the call to PrivateDependencyModuleName.AddRange() as it exists in the current branch. I’m posting it because I want to know if it’s correct to assume that this SHOULD be the way to make sure that other objects get linked.
PrivateDependencyModuleNames.AddRange(
new string[]
{
"Core",
"CoreUObject",
"Engine",
"InputCore",
"RHI",
"RenderCore",
"Renderer",
"ShaderCore",
"HeadMountedDisplay",
"Slate",
"SlateCore",
}
);
Feast yours eyes upon this fascinating output!
➜ Linux git:(4.7-linux) ✗ ldd libUE4Editor-OculusRift.so
linux-vdso.so.1 => (0x00007fffaf123000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f49e3224000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f49e301f000)
libUE4Editor-Core.so => not found
libUE4Editor-CoreUObject.so => not found
libUE4Editor-Engine.so => not found
libUE4Editor-InputCore.so => not found
libUE4Editor-RHI.so => not found
libUE4Editor-RenderCore.so => not found
libUE4Editor-Renderer.so => not found
libUE4Editor-ShaderCore.so => not found
libUE4Editor-HeadMountedDisplay.so => not found
libUE4Editor-Slate.so => not found
libUE4Editor-SlateCore.so => not found
libUE4Editor-UnrealEd.so => not found
libUE4Editor-OpenGLDrv.so => not found
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f49e2e12000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f49e2b0c000)
libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f49e2807000)
libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f49e25f1000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f49e222c000)
/lib64/ld-linux-x86-64.so.2 (0x00007f49e374f000)
As a shot in the dark I ran “export LD_LIBRARY_PATH=/home/johnny2k/src/3dluvr/UnrealEngine/Engine/Binaries/Linux” to see if it would solve all of my problems and… well… the “not found” messages disappeared but I had this crazy feeling that I was approaching this the wrong way.
tl;dr: Does PrivateDependencyModuleNames.AddRange() even link, bro?