Having these modules in a .Build.cs Plugin:
PrivateDependencyModuleNames.AddRange(
new string[] {
"Core",
"CoreUObject",
"Engine",
"Sockets",
"OnlineSubsystem",
"Networking",
"Projects",
// HTTP features
"HTTP",
"HttpServer",
"JsonUtilities",
"Json"
}
);
And trying to use some code in a .cpp class:
#pragma once
#include "CoreMinimal.h"
#include <Runtime/Online/HTTPServer/Private/HttpServerModule.cpp>
#include <Runtime/Online/HTTPServer/Public/HttpPath.h>
#include <Runtime/Online/HTTPServer/Public/FHttpRouteHandleInternal.h>
#include <Runtime/Online/HTTPServer/Public/FHttpServerRequest.h>
#include <Runtime/Online/HTTPServer/Public/FHttpServerResponse.h>
#include <Runtime/Online/HTTPServer/Public/IHttpRouter.h>
class ONLINESUBSYSTEMPG_API FPGHTTPServer
{
... whatever
}
I’ve got those errors compiling on platform Win64 (Windows10):
1> [1/4] PGHTTPServer.cpp
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(32): error C4273: 'FHttpServerModule::StartAllListeners': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(59): note: vea la definici�n anterior de 'StartAllListeners'
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(50): error C4273: 'FHttpServerModule::StopAllListeners': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(64): note: vea la definici�n anterior de 'StopAllListeners'
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(72): error C4273: 'FHttpServerModule::HasPendingListeners': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(71): note: vea la definici�n anterior de 'HasPendingListeners'
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(84): error C4273: 'FHttpServerModule::IsAvailable': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(30): note: vea la definici�n anterior de 'IsAvailable'
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(89): error C4273: 'FHttpServerModule::Get': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(38): note: vea la definici�n anterior de 'Get'
1>D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime/Online/HTTPServer/Private/HttpServerModule.cpp(100): error C4273: 'FHttpServerModule::GetHttpRouter': vinculaci�n de DLL incoherente
1> D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Source\Runtime\Online\HTTPServer\Public\HttpServerModule.h(46): note: vea la definici�n anterior de 'GetHttpRouter'
1>E:\Win64\UE4 Projects\UE4NewOnlineSubsystem\Plugins\OnlineSubsystemPG\Source\Private\PGHTTPServer.h(8): fatal error C1083: No se puede abrir el archivo incluir: 'Runtime/Online/HTTPServer/Public/FHttpRouteHandleInternal.h': No such file or directory
1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\Microsoft.MakeFile.Targets(46,5): error MSB3073: El comando ""D:\sierr\Repos\Unreal Engine\UnrealEngine\Engine\Build\BatchFiles\Build.bat" -Target="NewOnlineSubsystemEditor Win64 DebugGame -Project=\"E:\Win64\UE4 Projects\UE4NewOnlineSubsystem\NewOnlineSubsystem.uproject\"" -Target="ShaderCompileWorker Win64 Development -Quiet" -WaitMutex -FromMsBuild" salió con el código 6.
1>Compilación del proyecto "NewOnlineSubsystem.vcxproj" terminada -- ERROR.
========== Compilar: 0 correctos, 1 incorrectos, 2 actualizados, 0 omitidos ==========
But If I comment those includes everything works fine.
Is this module broken at 4.26?
Edit:
Okay. I made it work just changing includes for:
#include <HttpPath.h>
#include <IHttpRouter.h>
#include <HttpServerModule.h>
#include <HttpServerRequest.h>
#include <HttpServerResponse.h>
Do not use the Fsomething route neither use the HttpRouteHandleInternal.h.
Thanks in advance,
.