home *** CD-ROM | disk | FTP | other *** search
- Newsgroups: comp.os.vms
- Path: sparky!uunet!decwrl!pa.dec.com!rdg.dec.com!adserv.enet.dec.com!winalski
- From: winalski@adserv.enet.dec.com (Paul S. Winalski)
- Subject: Re: Linking problem!!!!!!! HELP!!!!!!!!
- Message-ID: <1992Aug27.020537.18155@rdg.dec.com>
- Lines: 28
- Sender: news@rdg.dec.com (Mr News)
- Reply-To: winalski@adserv.enet.dec.com (Paul S. Winalski)
- Organization: Digital Equipment Corporation, Nashua NH
- References: <1992Aug26.191820.23959@mahendo.jpl.nasa.gov>
- Date: Thu, 27 Aug 1992 02:05:37 GMT
-
-
- In article <1992Aug26.191820.23959@mahendo.jpl.nasa.gov>,
- robert@triton.jpl.nasa.gov (Robert Angelino) describes a problem where
- linking a C program compiled /G_FLOAT gets scads of Linker MULDEF errors
- when bringing in VAXCRTLG.EXE.
-
- The problem here is that you're also linking against the DECwindows shareable
- images, and these images are linked against VAXCRTL.EXE (the D-float version
- of the C RTL). There is no way to use the G-float version of the C RTL and
- DECwindows calls from the same program image. This restriction will go away
- in some future version of DECwindows and of VMS, when everybody is using the
- DEC C RTL in place of VAXCRTL (the DEC C RTL doesn't have this G-float/D-float
- RTL mixing problem). Unfortunately, there aren't any real work-arounds for
- this problem. Right now, DECwindows and the G-float C RTL simply don't mix.
-
- If you can, try compiling your code /D_FLOAT. If that isn't an option, then
- you can try packaging your application as two separate images, one of which
- is an executable image and one of which is a shareable image. The key thing
- is that one image must contain all the DECwindows calls and be compiled
- /D_FLOAT, and the other image must contain all the /G_FLOAT code. Use
- LIB$FIND_IMAGE_SYMBOL to bring the shareable image into your process.
-
- Another alternative is to package things as two executable images, one of
- which does G-float and the other of which does DECwindows, and run the
- application in multiple processes (as I said, there aren't any good work-
- arounds).
-
- --PSW
-