Newsgroups: alt.lang.basic
Subject: BASIC and Fortran Mixed Language Problem (I/O and strings)
From: tspcjr@lure.latrobe.edu.au
Date: Thu, 12 Nov 1992 02:28:17 GMT
Organization: VAX Cluster, Computer Centre, La Trobe University 

[CODE and ERRORS follow]

Hi.

I'm having problem with mixed-language programming (Microsoft).  No problems
arise if I merely pass integers, reals, or arrays, but with strings, problems
arise (also if there is any I/O).

I don't want to actually change the string, just access the information.  I
could, of course, pass an equivalent array (say of ASCII values), but I'm sure
there was be a work-around.  I get the same sort of link error if any I/O is
done.  Fortran is trying to perform some form of initialisation for some
things, and references routines with the same name.

Yes, I put the Basic modules first, and even specifiy "/nod /noe".  Is using
LIB the only way around this?  Will this even work?  It happens with both
Quick libraries and normal linking of an executable.

Any ideas?

Thanks,

Chris . . .

FORTRAN CODE
      subroutine Nothing (s)
      character * (2) s, t

      t = s

      return
      end


ERRORS
Microsoft (R) Segmented-Executable Linker  Version 5.15
Copyright (C) Microsoft Corp 1984-1991.  All rights reserved.

c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __aexit_rtn : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __aseglo : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __asizds : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __atopsp : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __cintDIV : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0.asm) :
		error L2025: __amsg_exit : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __osversion : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: _errno : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __exit : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __child : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __nfile : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: ___argc : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __cexit : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __intno : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __dosvermajor : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __oserr : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: ___argv : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __dosverminor : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: _environ : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __osfile : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __osmode : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __pspadr : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __ovlvec : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __pgmptr : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __acfinfo : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __ovlflag : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __aintdiv : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __osmajor : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __osminor : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __umaskval : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __doserrno : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __fac : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: _exit : symbol defined more than once
c:\lib\llibfor7.lib(dos\crt0dat.asm) :
		error L2025: __psp : symbol defined more than once

There were 68 errors detected