🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.os.os2.programmer
Article #1966

Re: CSet/2 Linking Conflict

#1966
From: Michael Harris
Date: Thu, 08 Oct 1992 22:18
42 lines
2439 bytes
francis@vnet.ibm.com (Tim Francis) writes:

>In article <92281.101301UD092096@NDSUVM1.BITNET>,
>Barry Pederson <UD092096@NDSUVM1.BITNET> writes:
>>
>>The problem is that to use tcpip.dll, you have to link with the linker's
>>"Do not ignore case in symbol names" option activated.  Otherwise
>>
>>VIM, on the other hand, seems to require that you DON'T have "Do not ignore
>>case in symbol names" activated, otherwise the linker complains about
>>unresolved externals.

There are two solutions to this problem.

1. Link with "Do not ignore case",  specify your VIM functions in upper
   case, and uppercase the function prototypes in the .h file.

OR

2. Isolate your code that uses TCP/IP from your code that uses VIM into two
   separate modules.  Either an EXE and DLL or 2 DLL's and an EXE.  Link the
   TCP/IP stuff with "Do not ignore case" and the VIM stuff with "Ignore
   case".  Then you can call your functions in your VIM module with upper
   case function names from your TCP/IP module only.

For future reference... When you create a DLL, the way to avoid the problem
is to link your DLL with "Do not ignore case" and then create a special
.DEF file with both lowercase and uppercase versions of your exported functions
linked to the same ordinal value.  For example:

EXPORTS
   MyFirstFunction    @1
   MYFIRSTFUNCTION    @1
   MySecondFunction   @2
   MYSECONDFUNCTION   @2

I haven't ACTUALLY done this yet... but I'm going to sometime.  As I understand
it, this is how the OS/2 System DLL's are linked.
______________________________________________________________________________
     Michael Harris - harris@catt.ncsu.edu or harris@carvm3.vnet.ibm.com
 System Administrator, Computer & Technologies Theme Program, NC State Univ.
(My opinions are my own and do not represent those of NCSU or IBM Corporation)
Technical Details
Message-ID: <harris.718582686@garfield.catt.ncsu.edu>
Path: arc1-ca.pugleaf.net!sparky!uunet!kithrup!hoptoad!pacbell.com!iggy.GW.Vitalink.COM!cs.widener.edu!eff!news.byu.edu!gatech!concert!rock!taco!garfield.catt.ncsu.edu!harris
References: <92281.101301UD092096@NDSUVM1.BITNET> <19921007.150857.182@almaden.ibm.com>

Show Full Headers
Complete Article Headers
Newsgroups: comp.os.os2.programmer
Path: arc1-ca.pugleaf.net!sparky!uunet!kithrup!hoptoad!pacbell.com!iggy.GW.Vitalink.COM!cs.widener.edu!eff!news.byu.edu!gatech!concert!rock!taco!garfield.catt.ncsu.edu!harris
From: harris@garfield.catt.ncsu.edu (Michael Harris)
Subject: Re: CSet/2 Linking Conflict
Message-ID: <harris.718582686@garfield.catt.ncsu.edu>
Sender: news@ncsu.edu (USENET News System)
Organization: North Carolina State University
References: <92281.101301UD092096@NDSUVM1.BITNET> <19921007.150857.182@almaden.ibm.com>
Date: Thu, 8 Oct 1992 22:18:06 GMT
Lines: 42