Gen - fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'
search cancel

Gen - fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

book

Article ID: 237477

calendar_today

Updated On:

Products

Gen Gen - Run Time Distributed Gen - Workstation Toolset

Issue/Introduction

Have online non-screened Procedure / Procedure Step generated in Windows C IEFAE targeting Oracle getting errors on the final executable link step. (see errors below) 

 

Getting the following error when installed with OPT.BITS = 32

...Linking Load Module EXE AUX2510B

 

                link /DEBUG /NOLOGO  /OPT:NOREF  /SUBSYSTEM:WINDOWS USER32.LIB  /OUT:"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.EXE" /NODEFAULTLIB:LIBCMT @"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.RSP" @"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.LNK"

 

AUX1154A.OBJ : error LNK2019: unresolved external symbol _sqlcxt referenced in function _f_22020119

GIX0196A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

GIX0200A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1874A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1112A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1113A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1875A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX2511B.OBJ : error LNK2001: unresolved external symbol _sqlcxt

GIX0198A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1110A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

GIX0199A.OBJ : error LNK2001: unresolved external symbol _sqlcxt

AUX1154A.OBJ : error LNK2019: unresolved external symbol _sqlbuft referenced in function _f_29360164

 

C:\app\client\product\12.1.0\client_1\precomp\LIB\ORASQL12.LIB : warning LNK4272: library machine type 'x64' conflicts with target machine type 'X86'

 

C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.EXE : fatal error LNK1120: 2 unresolved externals

 

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\link.EXE"' : return code '0x460'

Stop.

****************************

Link step for AUX2510B.EXE using C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.LNK failed with errors.

****************************

Getting the following error when installed with OPT.BITS = 64

...Linking Load Module EXE AUX2510B

                link /DEBUG /NOLOGO  /OPT:NOREF  /SUBSYSTEM:WINDOWS USER32.LIB  /OUT:"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.EXE" /NODEFAULTLIB:LIBCMT @"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.RSP" @"C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.LNK"

 

C:\CAGen\MMTest_Models\AUX2510B.ief\c\OBJS\AUX2510B_AECBLOCK_MAIN.OBJ : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'

 

NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\link.EXE"' : return code '0x458'

Stop.

****************************

Link step for AUX2510B.EXE using C:\CAGen\MMTest_Models\AUX2510B.ief\c\AUX2510B.LNK failed with errors.

****************************

Environment

Release : 8.6

Component : Gen Build Tool

Resolution

The problem is the result of switching between OPT.BITS 32 and 64 without cleaning out the <model>.ief\c folder where remnants of the previous build still exist.  Please try the following.

1. Set OPT.BITS=64

2. Clean the <model>.ief\c folder by deleting all the files or doing a Build Tool Clean.

3. Generate and install.

Since the Oracle Client 64 bit is being used, the generation and installation of the application and modules should all now match their bitness.