search cancel

CA Gen linking Oracle generated code gives "error LNK2001: unresolved external symbol _sqlcxt"

book

Article ID: 134162

calendar_today

Updated On:

Products

Gen

Issue/Introduction

Targeting Oracle 18c 64--bit database and 64-bit precompiler to build sample model cooperative CASCADE triggers and Server Manager for Windows OS gives link errors:

CASCADE Trigger library:

E3407896.OBJ : error LNK2019: unresolved external symbol _sqlcxt referenced in function _f_118489150_fk

F7483815.OBJ : error LNK2001: unresolved external symbol _sqlcxt


Server Manager P900:

ADDEMP.OBJ : error LNK2001: unresolved external symbol _sqlcxt

MODEMP.OBJ : error LNK2001: unresolved external symbol _sqlcxt


The Build Tool profile tokens for DBMS - Oracle have been set to the correct values for the Oracle 18c libraries.
The Gen 8.6 PTF for Gen Windows Oracle 18C runtime support RTN86121/SS08664 has been installed but that is for the runtime connection to Oracle 18c and this is the application build.


Cause

The root cause was that the Build Tool OPTIONS token for OPT.BITS was still set to the default of 32 so the application was being compiled and linked for 32-bit.
Only the Oracle 64-bit precompiler library was available and so the 32-bit reference to _sqlcxt could not be resolved. 

Environment

Release : 8.6
Component : CA Gen Build Tool

Resolution

After setting Build Tool profile OPTIONS token OPT.BITS to 64 the link was successful.

Additional Information

CA GEN 8.6 > Developing > Working with Build Tool (see section "64-bit Windows Support")