LINK : fatal error LNK1181: cannot open file ..\UE4-PerceptionNeuronRuntime.lib'

Plugin Name: Perception Neuron

Unreal Engine Version : 4.19.2
Full error: LINK : fatal error LNK1181:cannot open input file ‘C:\Users\Max\Documents\Unreal Projects\ProteusTemplate-master\Plugins\PerceptionNeuron\Binaries\Win64\UE4-PerceptionNeuronRuntime.lib’

The plugin has two modules, Editor and Runtime.

In my .uproject I do not have any module dependency (some solution said to delete UMG references)
The module UnrealEd is in the editor part of the plugin which should be fine (anyways removing it does not change the problem) while the Launch module in the runtime part if removed does not solve as well.
The aforementioned steps have been tried after browsing for a solution for days.

What’s strange is that this plugin builds fine in any other fresh project, but if I include it where I need it (in a Proteus Template project), then I get the error.

There must be some settings in my project that prevent the plugin from building, how can I find them?

this is the PerceptionNeuronEditor.Build.cs

// Copyright 2015 Smartisan Technology Co., Ltd. All Rights Reserved.

namespace UnrealBuildTool.Rules
{
    public class PerceptionNeuronEditor : ModuleRules
    {
        public PerceptionNeuronEditor(ReadOnlyTargetRules Target) : base(Target)
        {
            PrivateDependencyModuleNames.AddRange(
                new string[] {	
				    "Core",
				    "CoreUObject",
                    "Engine",
                    "UnrealEd",         // for FAssetEditorManager
				    "AssetTools",       // class FAssetTypeActions_Base
                    "Slate",
                    "SlateCore",
                    "PropertyEditor",
                    "EditorStyle",
                    "DesktopWidgets",
                    "DesktopPlatform",
                    "Projects",
                    "InputCore",
                    "AnimGraph",
                    "BlueprintGraph",
					"PerceptionNeuronRuntime",
			    }
            );

            /// List of modules with header files that our module's public headers needs access to, but we don't need to "import" or link against.
            PublicIncludePathModuleNames.AddRange(
                new string[] {
                    "AnimGraph",
                }
            );
        }
    }
}

and this is the PerceptionNeuronRuntime.Build.cs

// Copyright 2015 Smartisan Technology Co., Ltd. All Rights Reserved.

namespace UnrealBuildTool.Rules
{
	public class PerceptionNeuronRuntime : ModuleRules
	{
		public PerceptionNeuronRuntime(ReadOnlyTargetRules Target) : base(Target)
		{
            Definitions.Add("WITH_AVATARID=0");

            // List of all paths to include files that are exposed to other modules.
			PublicIncludePaths.AddRange(
				new string[] {
                    "PerceptionNeuronRuntime/Public",
					// ... add public include paths required here ...
				}
				);

            // List of all paths to this module's internal include files, not exposed to other modules
			PrivateIncludePaths.AddRange(
				new string[] {
					"PerceptionNeuronRuntime/Private",
					// ... add other private include paths required here ...
				}
				);

            // List of modules with header files that our module's public headers needs access to, but we don't need to "import" or link against.
            PublicIncludePathModuleNames.AddRange(
                new string[] {
                }
                );

            // List of modules with header files that our module's private code files needs access to, but we don't need to "import" or link against.
            PrivateIncludePathModuleNames.AddRange(
                new string[] {
                    "Launch",
                }
                );

            // List of public dependency module names. These are modules that are required by our public source files.
			PublicDependencyModuleNames.AddRange(
				new string[]
				{
					// ... add other public dependencies that you statically link with here ...
				}
				);

            // List of private dependency module names. These are modules that our private code depends on but nothing in our public
            // include files depend on.
			PrivateDependencyModuleNames.AddRange(
				new string[]
				{
                    "Core",
					"CoreUObject",
					"Engine",
					"Networking",
					"Sockets",
                    "Projects",
					// ... add private dependencies that you statically link with here ...
				}
				);

            // Addition modules this module may require at run-time.
			DynamicallyLoadedModuleNames.AddRange(
				new string[]
				{
					// ... add any modules that your module loads dynamically here ...
				}
				);
		}
	}
}

my .uproject

{
	"FileVersion": 3,
	"EngineAssociation": "4.19",
	"Category": "",
	"Description": "",
	"Plugins": [
		{
			"Name": "OnlineSubsystemSteam",
			"Enabled": true
		},
		{
			"Name": "OnlineSubsystemOculus",
			"Enabled": true
		},
		{
			"Name": "OnlineSubsystemGooglePlay",
			"Enabled": false
		},
		{
			"Name": "OnlineSubsystemIOS",
			"Enabled": false
		},
		{
			"Name": "OculusAudio",
			"Enabled": true
		},
		{
			"Name": "AdvancedSteamSessions",
			"Enabled": false
		},
		{
			"Name": "AdvancedSessions",
			"Enabled": false
		},
		{
			"Name": "LinuxDeviceProfileSelector",
			"Enabled": false
		},
		{
			"Name": "IOSDeviceProfileSelector",
			"Enabled": false
		},
		{
			"Name": "AndroidDeviceProfileSelector",
			"Enabled": false
		}
	],
	"TargetPlatforms": [
		"WindowsNoEditor",
		"IOS"
	]
}

I tried deleting all the modules, but I get the same error

did you ever find a resolution for this?

Greetings @theoneonlykid

I saw this popup and with it being an older post I wanted to ensure to get up to date information. Are you getting this exact error? If so, can you post the full error for me? The LNK1181 is generally an indicator of the library listed is missing from the link path. If you can provide a copy of the full error including your pathing, I’ll be happy to take a look! Thanks!

I appreciate you, but I ended up figuring out, before I saw your post, The problem was that my file path was to long I guess, I changed the main folders name that was holding my source build of unreal and it worked. I also found that if i just took the plugin from the marketplace and put it in the plugins folder of the project that worked as well. but thanks for you quick response.

Awesome! I’m just glad that you got it fixed! I’ll mark this resolved. Have a great day!