Download

How to include a public header that dependes on a private header?

Hello there!
I’m trying to write an implementation of the Voice Chat included with the OnlineSubsystemEOS module in 4.27 Preview 2. For this, I need to use the FOnlineSubsystemEOS class defined in the OnlineSubsystemEOS.h file, which is part of the public folder of the OnlineSubsystemEOS plugin. However, when I add #include “OnlineSubystemEOS.h” to my projects files the compiler complains about not finding “SocketSubsystemEOS.h”, which is part of the private folder in the OnlineSubystemEOS plugin and included in the OnlineSubystemEOS. Is there some way to include the OnlineSubsystem.h header file even when it includes a private header file?
I’ve tried adding the OnlineSubsystemEOS module as a private dependency and as a public dependency but neither allow me to include the OnlineSubsystemEOS.h file without any errors.
Thank you for your time!

you could find the file that needs to have SocketSubsystemEOS included, and add it there, and rebuild the plugin/engine/wherever

The problem is that SocketSubsystemEOS.h is a private file, soI can’t include it.

Did you include “Sockets” module?

To Answer the Question in the Tilte:

You have to add these lines in your .build.cs file. In this example making an include of Pixelstreaming possible.

string EngineSourceDirectory = Path.GetFullPath(Target.RelativeEnginePath);
PrivateIncludePaths.Add(Path.Combine(EngineSourceDirectory, "Plugins/Media/PixelStreaming/Source/PixelStreaming/Private/"));

Best
RealVis