Gen 8.5 MKDIALN.BAT gives error LNK2001 "unresolved external symbol ___report_rangecheckfailure"
search cancel

Gen 8.5 MKDIALN.BAT gives error LNK2001 "unresolved external symbol ___report_rangecheckfailure"

book

Article ID: 137064

calendar_today

Updated On:

Products

Gen Gen - Workstation Toolset

Issue/Introduction

As part of the Microsoft Visual Studio 2010 installation Windows SDK v7.0a is installed.

After installing the later Windows SDK 8.1 and modifying Visual Studio 2010 to use it running Gen 8.5 MKDIAL.BAT gives error:

HTMLHELP.LIB(init.obj) : error LNK2001: unresolved external symbol ___report_rangecheckfailure


Environment

Release : 8.5

Component : Gen Run Time, Distributed

Cause

The root cause seems to be related to the compatibility of VS 2010 with Windows 8.1 SDK e.g. web search hits:

https://social.msdn.microsoft.com/Forums/vstudio/en-US/7abc7f63-c3a6-4a55-babc-6914870d4959/unresolved-external-symbol-reportrangecheckfailure?forum=vcgeneral

https://stackoverflow.com/questions/32448912/build-error-with-report-rangecheckfailure-with-openssl-libs

The latter states Function ___report_rangecheckfailure was introduced in more recent versions of Visual Studio.

So the linker is looking in the VS2010 libraries to find a function that didn't exist until later.

 

Resolution

When testing/certifying Gen 8.5 with Visual Studio 2010 only its default Windows SDK 7.0a was used.

The problem also does not occur when running with Visual Studio 2012 and Windows SDK 8.1

So the resolution is to either use Visual Studio 2010 with Windows SDK 7.0A or use Visual Studio 2012 with Windows SDK 8.1.