[BUG] LNK1181: cannot open input file

Another strange issue from the depths of plugin development…

When attempting to compile my project from within the editor (it succeeds in Visual Studio), I get the following error:

[0030.82][648]CompilerResultsLog:Error: Error LINK : fatal error LNK1181: cannot open input file 'C:\Users\William\Documents\Rocket Projects\ParseProj\Plugins\ParsePlugin\Intermediate/BuildData/Win64\Dynamic\Development\RocketEditor-ParsePlugin.lib'

Now apart from the irking change from \ to / in the filepath, I actually do have a .lib file at the required directory, only it’s RocketEditor-ParsePlugin-Win64-Debug.lib instead. It appears that the editor build system doesn’t take the configuration into account…?

Also oddly enough, I don’t build on Debug at all, but on Development. And as a side note (not sure if this is intended behavior), when compiling from Visual Studio I get about a 100 of these errors:

1>RocketLib.lib(PackUniformBuffers.obj) : warning LNK4099: PDB 'hlslcc_64.pdb' was not found with 'RocketLib.lib(PackUniformBuffers.obj)' or at 'C:\Users\William\Documents\Rocket Projects\ParseProj\Binaries\Win64\hlslcc_64.pdb'; linking object as if no debug info
1>RocketLib.lib(OptValueNumbering.obj) : warning LNK4099: PDB 'hlslcc_64.pdb' was not found with 'RocketLib.lib(OptValueNumbering.obj)' or at 'C:\Users\William\Documents\Rocket Projects\ParseProj\Binaries\Win64\hlslcc_64.pdb'; linking object as if no debug info
1>RocketLib.lib(symbol_table.obj) : warning LNK4099: PDB 'hlslcc_64.pdb' was not found with 'RocketLib.lib(symbol_table.obj)' or at 'C:\Users\William\Documents\Rocket Projects\ParseProj\Binaries\Win64\hlslcc_64.pdb'; linking object as if no debug info
1>RocketLib.lib(strtod.obj) : warning LNK4099: PDB 'hlslcc_64.pdb' was not found with 'RocketLib.lib(strtod.obj)' or at 'C:\Users\William\Documents\Rocket Projects\ParseProj\Binaries\Win64\hlslcc_64.pdb'; linking object as if no debug info

These do not cause the compilation to fail, but I thought I’d mention it anyway. The more pressing issue however is that I cannot compile from within the editor. Thanks in advance!

Okay so it appears that I’ve been completely misunderstanding the build configurations. Debug/Development Editor is the way to go. And from what I can glean, LNK4099 is completely ignore-able (still would like to know why it shows up).

The original issue persists, however. Only now I have a more appropriate configuration.

Okay, so sometimes it’s better to start with a clean slate. I’d had some stale files from various builds in different configurations lying around. After doing the following:

  1. deleting the Binaries/ and Intermediate/ directories
  2. right-clicking my .uproject and selecting “Generate Visual Studio Files”
  3. in Visual Studio, right-clicking my project in the Solution Explorer and selecting “Rebuild” with the Development Editor configuration

The issue resolves itself. I’d still like to know why using the Debug configurations appends the weirdness to the .dll and .lib files as in my original question, causing the original issues. However, for now this is solved.

if this step alone doesn’t fix your problem,
check in “MyProject.uproject” for dependencies “UnrealEd” or “AnimGraph”.
Deleting those and rebuild like above solved the error for me.

also check MyProject.Build.cs: if included there, wrap with if (UEBuildConfiguration.bBuildEditor)

I know I’m late to this but in case any poor soul is having the same problem - I had a very similar issue with Audiokinetic’s Wwise plugin:

LNK1181 fatal error → UE compile console log was saying it couldn’t find a very specific AkAudio lib file.

There were debug lib files and concatenated numbered files but not the original so had to tear everything down from scratch and rebuilt the test project, Wwise project, plugin, everything but still the same issue.
Deleting the directories and re-generating/rebuilding was the only thing that fixed it and I was finally able to compile.

Thanks for your post, been racking my brains trying to fix it for the past 2 days. If in doubt, rebuild I suppose!