Link error

Below is the link error we are getting in Visual Cobol that we did not get in our Net Express 3.1.

What steps do I need to take to resolve this error ? Is this a missing parameter or  modules that has been replaced

by other modules ?

 

Thank you for your help.

 

D:\vcprod>CBLLINK gropvp.cbl  

Micro Focus COBOL - CBLLINK utility

Version 2.1.0.35 Copyright (C) Micro Focus 1984-2012. All rights reserved.

 

Micro Focus COBOL

Version 2.1.00024 Copyright (C) Micro Focus 1984-2012. All rights reserved.

* Ignored  - LINKCOUNT"200"

* Rejected - MAP

* Checking complete with no errors - starting code generation

* Ignored  - ()

* Ignored  - TARGET "PENTIUM"

* Generating gropvp

* Data:        9944     Code:       35264     Literals:       12128

Microsoft (R) Incremental Linker Version 11.00.50727.1

Copyright (C) Microsoft Corporation.  All rights reserved.

 

gropvp.obj

cbllds00000DB4.obj

   Creating library gropvp.lib and object gropvp.exp

gropvp.obj : error LNK2001: unresolved external symbol _PACK_DECIMAL

gropvp.obj : error LNK2001: unresolved external symbol _UNPACK_DECIMAL

gropvp.exe : fatal error LNK1120: 2 unresolved externals

  • I am not familiar with those symbol name. I do not believe that they are Micro Focus symbols.

    Do you have any call statements in your programs that directly reference these routine names?

    Thanks.

  • Any chanced of getting a copy of the program to peek at?  If there are lots of copybooks use the compiler directive RAWLIST and attach the llisting

  • Any chanced of getting a copy of the program to peek at?  If there are lots of copybooks use the compiler directive RAWLIST and attach the llisting

  • This is the code piece that was originally ported from a Unisys mainframe.

    I am currently seeking management approval to send the full program.

        MOVE 0                      TO DECODE-MODE.

         ** Translate the hex ASCII to characters.

              PERFORM TRAN-HEX-TO-CHAR

                  VARYING TSUB FROM 1 BY 1

                  UNTIL TSUB > LENGTH OF VPN-CRCR-TEXT.

              CALL "__PACK_DECIMAL" USING WS-CRCR-TEXT CRCR-INTEGER

                                    BY VALUE LENGTH OF CRCR-INTEGER.

              CALL "__UNPACK_DECIMAL" USING ERROR-FLAG-PAD-DIGIT

                                          WS-ERROR-PAD    BY VALUE 1.

  • This clearly shows that you are calling these entry points from within your program and it is not part of the COBOL run-time.

    Were you linking in additional COBOL modules under NX 3.1 that you are now omitting?

    Do you know in which module these routines actually reside?

    Are you using the LITLINK or LITLINK"2" directive at compile time?

    What does your cbllink statement look like under NX 3.1?