Converting project to 4.2 missing dll error

When I attempt to convert my project from 4.1 to 4.2. It runs into an error from cl.exe that says

The program can't start because mspdb120.dll is missing from your computer. Try reinstalling the program to fix this problem

Here’s the build log

The project failed to compile with this version of the engine. Build output is as follows:

Found 0 directories to search
FillProjectInfo took 0.0001 seconds
Running C:/Program Files/Unreal Engine/4.2/Engine/Binaries/DotNET/UnrealBuildTool.exe MyGameEditor Development Win64 -project="C:/Users/***/Documents/Unreal Projects/MyGame 4.2 - 3/MyGame.uproject" -rocket -editorrecompile -progress
Parsing headers for MyGameEditor
Code generation finished for MyGameEditor and took 3.283
Performing 6 actions (max 4 parallel jobs)
[2/6] rc.exe MyGame.rc
C:\Users\***\Documents\Unreal Projects\MyGame 4.2 - 3\Source\MyGame\Resources\Windows\MyGame.rc(11) : fatal error RC1015: cannot open include file 'windows.h'.

-------- End Detailed Actions Stats -----------------------------------------------------------
ERROR: UBT ERROR: Failed to produce item: C:\Users\***\Documents\Unreal Projects\MyGame 4.2 - 3\Binaries\Win64\UE4Editor-MyGame.dll
Cumulative action seconds (8 processors): 0.00 building projects, 74.03 compiling, 0.00 creating app bundles, 0.00 generating debug info, 0.00 linking, 0.00 other
UBT execution time: 86.12 seconds

i have this exact same problem and nobody will help with this … not even unreal :frowning:

I have exactly the same error message (in a different language), but in a different situation: when trying to compile C++ source from editor after adding some lines to an existing function (VS2013EE compilation works fine, project path contains no special characters, but my user name does).

I had the same problem, it was the antivirus blocking some of the building tools.

I dont even have any anti virus installed on this machine. I never could resolve the issue so I just converted my project to 4.2 assest by assest which was a chore to say the least.

antivirus has no effect on it here too… might VS fix/reinstall help?

Hey,

I apologize for the delay in response.

TheFoyer: were you attempting to convert the project through the launcher? Was your project a C++ or Blueprints project? Have you made any changes to source code?

Sivan: If you revert the changes you made to the function you edited, does the project convert to 4.2 as expected? Have you updated your dependencies when you updated the engine to 4.2?

Hey Ben thanks for the reply.

I was indeed attempting to convert the project through the launcher. The project was initially a blueprint project that I added code too. The code was test code to learn how to do it. I did not make any changes to source. I have already manually converted the project but if there is anything you would like me to try let me know as I still have the 4.1 project.

If you remove the code changes in the 4.1 project, will it convert without problems? Do a convert as a copy so you can retain the 4.1 version, just in case. Thanks!

hi,

I’m still in 4.0.2. My problem is not related to the upgrade process, but happens when trying to use the in-editor compilation for a slightly modified C++ function. I’m using VS2013EE and engine source version. As the message says cl.exe does not find that dll, which exists in VS folders ‘Microsoft Visual Studio 12.0/VC/bins’ (only for 32 bit cl.exe compiler?), but missing in ‘Microsoft Visual Studio 12.0/VC/bins/x86_amd64’. If I copy there that dll compilation ends without that message but simply fails. Maybe the command line compiler used by the editor can’t make the compilation because of this? I followed how it was described at msdn to use vcvarsall.bat How to: Enable a 64-Bit MSVC Toolset on the Command Line | Microsoft Docs but no success, maybe EE is limited in it?

if it is solved in 4.2, after my short holiday, hopefully next week I can upgrade to 4.2.
thanks.

Hey sivan,

Just checking in to see if updating the engine to 4.2.1 resolved the issue for you. Thanks!

hi, not yet done because finally I could made my holiday longer by a week… I’ll report here if anything happens next week!

Hi,

I just tried with installed version of UE4.2.1, with exactly similar result (mspdb120.dll is missing).

Hi @Sivan,

You mentioned that you are using Visual Studio 2013 Express. Did you install the version for Windows Desktop?

Are you able to reproduce this issue in a brand new project? If so, can you provide the steps you take from creating the project to getting the error?

hi

yes it is desktop version: 12.0.21005.1 REL, but I forgot to mention that I have a VS2010 Pro also installed, which caused earlier troubles with source compilation!

I made a brand new project with installed UE4.2.1, the 3rd person C++ one, added a beginplay function to the Game Mode class, which contains only a debug message. I modified its content slightly (modifying text or commenting out content), then compile from editor, and it fails always. it works if built from VS, so I made no any scripting errors.

I hope it was enough info :slight_smile:

Hi Sivan,

Just a few things that I would like to confirm. When you mention you are using the installed version of UE4, do you mean the binary version installed by the Launcher?

You are making the changes to the code in Visual Studio, but compiling in the Editor, correct? At what point do you reopen the project in the Editor?

Could you let me know exactly what changes you are making in the code that is created when you first create the project?

Could you also please check your VS120COMNTOOLS Environment Variable and verify that is pointing to where you have Visual Studio installed? You can find this variable at Control Panel\System and Security\System -> Advanced System Settings -> Environment Variables.

hi,

yes the binary one by the launcher.

yes, correct. first when I experienced it I followed this tutorial: A new, community-hosted Unreal Engine Wiki - Announcements - Unreal Engine Forums so what I did: open editor - create new project from 3rd person C++ template - open sln with VS, editor closed - added BeginPlay to gamemode .h and .cpp similar to tutorial, only game mode name differs - build with VS fine - run editor from VS - test play ok - modify code in VS while editor open - compile in editor fails as described earlier.

.h

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.
#pragma once

#include "UE42CPPTestGameMode.generated.h"

UCLASS(minimalapi)
class AUE42CPPTestGameMode : public AGameMode
{
	GENERATED_UCLASS_BODY()

	virtual void BeginPlay() OVERRIDE;
};

.cpp

// Copyright 1998-2014 Epic Games, Inc. All Rights Reserved.

#include "UE42CPPTest.h"
#include "UE42CPPTestGameMode.h"

AUE42CPPTestGameMode::AUE42CPPTestGameMode(const class FPostConstructInitializeProperties& PCIP)
	: Super(PCIP)
{
	// set default pawn class to our Blueprinted character
	static ConstructorHelpers::FObjectFinder<UClass> PlayerPawnBPClass(TEXT("Class'/Game/Blueprints/MyCharacter.MyCharacter_C'"));
	if (PlayerPawnBPClass.Object != NULL)
	{
		DefaultPawnClass = PlayerPawnBPClass.Object;

	}
}

void AUE42CPPTestGameMode::BeginPlay()
{
	Super::BeginPlay();

	if (GEngine)
	{
		GEngine->AddOnScreenDebugMessage(-1, 5.f, FColor::Yellow, TEXT("AUE42CPPTestGameMode new game mode!"));
	}
}

the same happens if open editor - open existing project - open sln with VS - modify code in VS - compile from editor fails similarly.

VS120COMNTOOLS points to C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\Tools\ which seems to be correct.

What is the exact error message that you see? I was able to get the following message to appear a few times:

Info ERROR: 'C:/Users/Tim.Lincoln/Documents/Unreal Projects/TestGameMode/Intermediate/Build/Win64/Inc/TestGameMode/TestGameModeGameMode.generated.h': Changes to generated code are not allowed - conflicts written to 'C:/Users/Tim.Lincoln/Documents/Unreal Projects/TestGameMode/Intermediate/Build/Win64/Inc/TestGameMode/TestGameModeGameMode.generated.h.conflict'

This error is expected depending on the changes that are being made to the code.

I get a Windows error message box with the same text as in the 1st post here “The program can’t start because mspdb120.dll is missing from your computer. Try reinstalling the program to fix this problem”, but in nice Hungarian translation:

http://s26.postimg.org/pvz4qjih5/mspdb120dllmissing.png

and then clicking on show log:

http://s26.postimg.org/w89ommw5l/mspdb120dllog.png

and here is a log file when running editor from launcher, and trying to compile modified code saved earlier:

log.txt

and another when editor is started from VS:

log.txt 2