x

Search in
Sort by:

Question Status:

Search help

  • Simple searches use one or more words. Separate the words with spaces (cat dog) to search cat,dog or both. Separate the words with plus signs (cat +dog) to search for items that may contain cat but must contain dog.
  • You can further refine your search on the search results page, where you can search by keywords, author, topic. These can be combined with each other. Examples
    • cat dog --matches anything with cat,dog or both
    • cat +dog --searches for cat +dog where dog is a mandatory term
    • cat -dog -- searches for cat excluding any result containing dog
    • [cats] —will restrict your search to results with topic named "cats"
    • [cats] [dogs] —will restrict your search to results with both topics, "cats", and "dogs"

UnrealBuildTool: LINK : fatal error LNK1181: cannot open input file 'libfbxsdk-md.lib'

I'm trying to package my game in UE4.17 after upgrading from 4.15 but am getting an error finding libfxdsk-md.lib.

I can find libfbxdsk.lib but there is no -md variant. I upgraded VS2017 to the latest update last night and verified that I have the latest windows 10 SDK installed. Still no luck. At one point awhile ago I had packaged with 4.15, but I am not sure if it was still able to be packaged when I did the upgrade.

Product Version: UE 4.17
Tags:
more ▼

asked Aug 26 '17 at 01:15 PM in Packaging & Deployment

avatar image

Sessional
41 3 6 10

avatar image RVillani Aug 31 '17 at 10:50 PM

I tried renaming libfbxsdk.lib to libfbxsdk-md.lib. Now the error is

 LINK : fatal error LNK1181: cannot open input file 'C:\Program Files\Epic Games\UE_4.17\Engine\Binaries\Win64\UE4-UnrealEd.lib'

I'm gonna try an Engine verification and report back here.

Edit: no deal. It's still asking for C:\Program Files\Epic Games\UE_4.17\Engine\Binaries\Win64\UE4-UnrealEd.lib

Edit 2: I reproduced the same problem in another project. Both converted from 4.16.3. Clean projects (either BP or Code) build fine in Development and Shipping modes.

avatar image RVillani Sep 01 '17 at 01:47 AM

Do you have some plugin using the new IWYU pattern? I'm starting to think that's the culprit. Because the modules I used are used by other engine plugins or even the Substance plugin, but I found none using IWYU.

Edit: I converted one of my other plugins that used the IWYU pattern to 4.17 and it packaged ok. I'm starting to think the problems have to do with using the UnrealEd module in a IWYU plugin in 4.17.

Edit 2: yup. Usage of the UnrealEd module in the plugin's Build.cs file seems to be broken if its module is set to be of any type other than Editor. I just added it to my PublicDependencyModules on a previously packageable plugin (didn't even include any header from it in code) and the plugin compiled but I wasn't able to package the game, getting the the same error as OP.

avatar image Sessional Sep 01 '17 at 01:48 PM

@RVillani It appears that my problem was in the .uproject I had accrued some references to things that I didn't need (no clue where/when they showed up). I removed them one by one until it went away. The culprit appears to have been the UMGEditor line in my .uproject?

avatar image RVillani Sep 07 '17 at 12:25 AM

@Sessional Yeah, probably. Editor related modules seem to be the problem.

avatar image TheJamsh Jul 05 '18 at 04:14 PM

Having this problem now and none of the answer seem to solve it.

I've removed the dependency on the UMG module, and UnrealEd is already included when building for Editor. I'm also using the following modules:

PublicDependencyModuleNames.AddRange(new string[] { "Core", "CoreUObject", "Engine", "InputCore", "OnlineSubSystem", "OnlineSubsystemUtils", "MoviePlayer", "GameplayTasks", "AIModule", "AssetRegistry", "MovieScene", "LevelSequence", "RHI", "RenderCore", "Navmesh", "HTTP", "ImageWrapper" });

So - what gives? I just switched this project over to IWYU. Really regretting it...

avatar image Sessional Jul 05 '18 at 05:48 PM

@TheJamsh It was a mix of what was in the .uproject and what was included as a public dependency.

I see you don't have UMG as a public dependency, can you try that and hit build again?

avatar image TheJamsh Jul 05 '18 at 06:11 PM

@Sessional - just to clarify, are you saying add it as a Public Dependency not Remove it?

EDIT: Just tried with UMG as a pubic dependency, still no joy.

avatar image Sessional Jul 05 '18 at 06:46 PM

Can you post a snippet of what your .uproject has for dependencies? I had things in my .uproject that shouldn't have been there too (such as UMGEditor).

For all my stuff I need "UMG" as a PublicDependencyModuleName so I can use UUserWidget in my C++ stuff.

avatar image TheJamsh Jul 05 '18 at 07:14 PM

@Sessional

I had UMG as a Private Dependency but moved it to Public, no dice I'm afraid.

There are a few plugins enabled/disabled in my .uproject file - but these are the only modules:

     "Modules": [
         {
             "Name": "ECGame",
             "Type": "Runtime",
             "LoadingPhase": "Default",
             "AdditionalDependencies": [
                 "Engine"
             ]
         }
     ],
avatar image TheJamsh Jul 08 '18 at 01:40 PM

Right y'all, I'm posing this thread as an update. https://answers.unrealengine.com/questions/806305/none-of-my-projects-package-in-420.html?childToView=806618#answer-806618

I've since moved my project to 4.20 to see if the issue still occurred. It did, but the warning was different.

It turns out, trying to include any module that's editor-only (though it's hard to know which modules ARE editor-only) in a plugin, and not wrapping that module in an editor-only check will cause your build to fail.

Unfortunately, UBT offers absolutely no useful logging or indication so I went into this pretty much blind. I'd really like UBT logging to be improved in this area...

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

2 answers: sort voted first

This helped me:

https://forums.unrealengine.com/development-discussion/c-gameplay-programming/28514-unrealed-dependency-causes-package-failure

Basically in the Game.Build.cs file you need to conditionally add the UnrealEd dependency depending whether you're building with editor or not.

 if (UEBuildConfiguration.bBuildEditor)
 {
     PublicDependencyModuleNames.AddRange(
         new string[] {
             "UnrealEd",
         }
     );
 }
more ▼

answered Feb 13 '18 at 05:33 PM

avatar image

jonimake
116 10 18 22

(comments are locked)
10|2000 characters needed characters left
Viewable by all users

Situation Overview: I got the same error in 4.18.3 in a fresh project. The project uses 1 plugin, containing an editor module and a runtime module. The editor module uses the runtime module, no binding the other way around. The editor module is the only place which uses "UnrealEd" in PrivateDependencyModuleNames, which turned out not to be the issue.

Inside the .Target.cs and Editor.Target.cs are only: ExtraModuleNames.AddRange(new string[] {"PluginName"} ); Despite information suggesting the modules need to be included here, with the editor module in if (Target.Type == TargetType.Editor), this was not required.

This seems to be related to the Include What You Use principle, since somewhere I picked up to include "UMGEditor" in the .uproject and in the main Build.cs under PublicDependencyModuleNames "UMG".

Potential Solution: Having removed these UMG dependencies, the project now packaged properly for me.

more ▼

answered Feb 23 '18 at 11:10 AM

avatar image

StevenPixelPool
1

(comments are locked)
10|2000 characters needed characters left
Viewable by all users
Your answer
toggle preview:

Up to 5 attachments (including images) can be used with a maximum of 5.2 MB each and 5.2 MB total.

Follow this question

Once you sign in you will be able to subscribe for any updates here

Answers to this question