How do I link with CA-Clipper Tools?
Linking MrDebug, MrWindow and CA-Clipper Tools
──────────────────────────────────────────────────────────────────────────────

The basic problems lie within the extended driver, CTUS or CTUSP. With
MrDebug (and most 3rd party libraries), this module cripples Clipper and
breaks some Internals.

MrWindow.LIB resolves these problems and allows MrDebug to be used with
CA-Clipper Tools.

In order to use MrDebug with CA-Clipper Tools you must create a link script
similar to the following example. Please note that the order of libraries is
very important. If you link in a different order, you will get one of many
different problems, warnings or messages:

FILE Test
FILE...other files
FILE _MrdErSy
FILE...other files
FILE MrDebug.Lib

LIB MrWindow <- MrWindow replaces the CTUS.OBJ or CTUSP.OBJ
LIB....other libraries
LIb BlxRatex
LIB....other libraries

BLINKER EXECUTABLE EXTENDED
SEARCH BlxClp52

LIB Clipper <- Must be a CLIPPER.LIB
LIB ctp <- Clipper Tools library
FILE ctintp <- CTINTP (if used)
NOBELL

MAP a, s

Notes:

■ If you link in CTUSP you may get one of may different problems. Depending
upon where you put CTUSP you may get an incorrect GPF report in _DBGABORT
- which should really be 'SCREEN_DRIVER_TEXT'.

■ Linking the above link script with Exospace will give 1 million and 1
duplicate definitions and finally a fixup overflow.

■ Moving MrWindow after the CTP library will result in Unresolved externals:

BLINKER : 1115 : CTP.LIB(_OBJ2) : '_WMODE' : unresolved external
BLINKER : 1115 : CTP.LIB(_OBJ4) : '_WPOINT' : unresolved external
BLINKER : 1115 : CTP.LIB(_OBJ5) : '_WFPOINT' : unresolved external

so make sure MrWindow comes before CTP

■ If CLIPPER.LIB is taken out or it is moved after the CT stuff in an
EXOSPACE link script the you get the following errors:

ERROR(#4029): File(D:\CC\TERM\GT.C) Multiple definition of
"DISPCOUNT" from file "GTSTUB.ASM".
ERROR(#4029): File(D:\CC\TERM\GT.C) Multiple definition of
"__gtDispBegin" from file "GTSTUB.ASM".
ERROR(#4029): File(D:\CC\TERM\GT.C) Multiple definition of
"__gtDispEnd" from file "GTSTUB.ASM".

followed by an

ERROR(#4020): File(D:\CC\TERM\GT.C) Attempt to fixup reference
to "__GTDISPEND" in segment "GT_TEXT" relative to segment "GT_TEXT".
ERROR(#4056): Abort error level exceeded.

so leave Clipper.Lib where it is.

■ If CLIPPER.LIB is taken out or it is moved after the CT stuff in a
CAUSEWAY link script the you get the following errors:

Symbol defined more than once: DISPCOUNT
Defined in E:\CT3\LIB\CTP.LIB, duplicated in E:\C52D\LIB\CLIPPER.LIB

Symbol defined more than once: __GTDISPBEGIN
Defined in E:\CT3\LIB\CTP.LIB, duplicated in E:\C52D\LIB\CLIPPER.LIB

Symbol defined more than once: __GTDISPEND
Defined in E:\CT3\LIB\CTP.LIB, duplicated in E:\C52D\LIB\CLIPPER.LIB

When you run the application and you will get a GPF in GT_TEXT segment if
you use DISPBEGIN or DISPEND