how link .lib file while project type is makefile??

i found what makefile project type is, it’s all configured now by one property folder Nmake for any UE projects

in this case i really confused how link steam_api.lib

image for example Oops!

any ideas?

i already tryed

#pragma import steam_api.lib

in steam_api.h


in VS “build command line” property contain “D:\ue4\installed\Epic Games\4.7\Engine\Build\BatchFiles\Build.bat” steam_trainingEditor Win64 Development “$(SolutionDir)$(ProjectName).uproject” -rocket

build.bat from command line have next lines (it comes with UE, i didn’t write it on my own)

@echo off

REM The %~dp0 specifier resolves to the path to the directory where this .bat is located in.
REM We use this so that regardless of where the .bat file was executed from, we can change to
REM directory relative to where we know the .bat is stored.
pushd “%~dp0....\Source”

REM %1 is the game name
REM %2 is the platform name
REM %3 is the configuration name

IF EXIST …..\Engine\Binaries\DotNET\UnrealBuildTool.exe (
…..\Engine\Binaries\DotNET\UnrealBuildTool.exe %* -DEPLOY
popd
) ELSE (
ECHO UnrealBuildTool.exe not found in …..\Engine\Binaries\DotNET\UnrealBuildTool.exe
popd
EXIT /B 999
)

so any ideas where can i put something like

LIBS=steam_api?

found solution, it’s a

#pragma comment(lib, “steam_api64.lib”)

note that i setted path to lib file separatly in project setting, but you can use full path with double slashes like “C:\any folder\your.lib”

Use the unreal build tool? There are plenty of tutorial out there…

The actual solution is adding “Steamworks” to your build.cs file like so:

PublicDependencyModuleNames.AddRange(new string[] { “Core”, “CoreUObject”, “Engine”, “InputCore”, “Steamworks” });

Yeah, I can confirm hour after debugging this adding “Steamworks” to the build.cs file of my plugin worked.

PrivateDependencyModuleNames.AddRange(
new string[]
{
“CoreUObject”,
“Engine”,
“Slate”,
“SlateCore”,
“Steamworks”,
// … add private dependencies that you statically link with here …
}
);