- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I still have the problem with converting CVF into IVF.
In cvf, it seems that these two lines tried to close window after finishing the simulation. But in IVF, there is link error about the ABORT.
CLOSE(IFILERESD, STATUS='DELETE', ERR=4123)
4123 CALL ABORT('MODSIM HAS ENDED')
4123 CALL ABORT('MODSIM HAS ENDED')
MODSIM error LNK2019: unresolved external symbol _ABORT@8 referenced in function _MAIN__
So what kind of library shall I includefor using ABORT. Thank.
xiaowei
Link Copied
4 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Expanding - if you are not using the compiler's default calling conventions - and a project converted from CVF gets set to use CVF conventions - you must add USE IFPORT to make the portability routines available.
An alternative is to change the calling convention to the Intel default - this is done on the External Procedures project property page. Don't forget to also change the string length passing to default.
An alternative is to change the calling convention to the Intel default - this is done on the External Procedures project property page. Don't forget to also change the string length passing to default.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I tried both methods.
First i added the
USE IFPORT
It came out the message that
Error: The attributes of this name conflict with those made accessible by a USE statement. [ITIME]
Error: This name has already been used as an external subroutine name. [ITIME]
Error: This name has already been used as an external subroutine name. [ITIME]
where is :
COMMON /CHRONO/ TIME,TSTEP,TTIME,TMIN,ITIME
........................
........................
ITIME=ITIME+1
It seems that the variable ITIME conflict with the USE IFPORT.
"An alternative is to change the calling convention to the Intel default - this is done on the External Procedures project property page. Don't forget to also change the string length passing to default. "
Then I tried to use the second method to change the calling convection to the Default. But I couldn't find there is "Default" set for the "change the string lenth passing". The only tow choices are:
"After Individual String Argument" and "After All Arguments"
I choosed thesecond set for the string length passing. The code can be complied. But the problem was the simulation messed up. And some public variables would changed correctly.
xiaowei
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Ok, then use:
USE IFPORT, only: ABORT
It was not clear that your application used non-Fortran routines that relied on CVF conventions.
USE IFPORT, only: ABORT
It was not clear that your application used non-Fortran routines that relied on CVF conventions.

Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page