Re: Issue from IVF 9.0 to IVF 10.1
- From: "Jugoslav Dujic" <jdujic@xxxxxxxxx>
- Date: Wed, 30 Jul 2008 12:03:07 +0200
Marco Ppower wrote:
| I have just updated my Fortran compiler from IVF 9.0 to 10.1 and I have my
| suite of DLLs, that I can't link successfully because of some LNK2019
| unresolved external symbols in my source code. These Fortran files are
| correctly compiled, but it is the linker to complain for, while the IVF v9.0
| linker linked the same sources without any issue.
|
| I admit that the calling and called functions are badly formatted, because
| of the implicit variables definition and the not-so-precise type matching,
| but that's the source code I got from my colleagues and I have to run soon.
|
| This is the function being called:
|
| SUBROUTINE
| ASSEMBLABLK(NA,NCOL,A,NRIFA,NEQ,NBLOCK,LBLOK,NUMEL,KERR,NEQUAZ,KGEON,KEXIT)
<snip>
|| CALL
|
ASSEMBLABLK(A(N1),A(N2),A(N3),A(N3),NEQ,NBLOCK,LBLOK,MAXC,NUMEL,KERR,NEQUAZ,KGEON,KEXIT)
|
| The errors are here:
|
| Error 1 error LNK2019: unresolved external symbol _ASSEMBLABLK@52
| referenced in function _PUSHOVER Pushover.obj
| Error 2 fatal error LNK1120: 1 unresolved externals
|
| What's wrong? Is there a way to activate full parameter passing type
| checking between functions with the Intel Visual Fortran compiler?
Your calling sequence has 13 arguments, but the actual subroutine has 12.
MAXC actual argument looks like a probable culprit. I'm not sure how it
ever worked...
You seem to have non-default calling convention active
(Project properties/Fortran/External procedures). I guess it's "CVF", i.e.
a leftover from CVF days. That's perfectly OK, and it helped catch the error
(@52 stands for 13 arguments * 4-byte address each). I don't know how it
got activated in your upgrade from 9.0 and 10.1 though?
IVF default convention (cdecl) does not encode routine names in this way.
However, IVF provides far more powerful cross-interface checking across
all source files by means of /gen-interface /check-interface switches.
That's under Diagnostics\"Generate interface blocks" and "Check Routine
Interfaces" in the IDE project settings.
--
Jugoslav
___________
www.xeffort.com
Please reply to the newsgroup.
You can find my real e-mail on my home page above.
.
- Follow-Ups:
- Re: Issue from IVF 9.0 to IVF 10.1
- From: Marco Ppower
- Re: Issue from IVF 9.0 to IVF 10.1
- References:
- Issue from IVF 9.0 to IVF 10.1
- From: Marco Ppower
- Issue from IVF 9.0 to IVF 10.1
- Prev by Date: Re: ELEMENTAL functions and performance
- Next by Date: Re: ELEMENTAL functions and performance
- Previous by thread: Issue from IVF 9.0 to IVF 10.1
- Next by thread: Re: Issue from IVF 9.0 to IVF 10.1
- Index(es):
Relevant Pages
|