Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
28471 Discussions

Help with "use ifport" and RTC() function in IVF8.0

Intel_C_Intel
Employee
441 Views
Hi everyone.
I've just migrated from CVF6.6 to IVF8.0. I can compile my application with IVF, but I can't link it. I always have the following linker error:
unresolved external symbol _RTC@0 referenced in function _MAIN__
I read the documentation and added "use ifport" to my main routine, but it doesn't seem to work. Is there a setting that is not done properly?
I added a sample of my code at the end of this message. Thamks in advance.
Franois Grondin
================================
program MAIN
USE DFPORT
implicit double precision (a-h,o-z)
fStart = RTC()
call myprogram()
write (*, 9998) RTC() - fStart
9998 format (' My programcalled for ', F10.4, ' seconds.')
end
0 Kudos
2 Replies
Steven_L_Intel1
Employee
441 Views
There's a bug in initial versions of IVF (it may be fixed in the latest 8.0.044, I'm not sure) where, if you have /iface:cvf established as an option, then the compiler ignores the DEFAULT attribute such as is specified by module IFPORT. This will cause the symptom you are seeing.
In most cases you can remove the /iface:cvf option, which is inserted by the project conversion wizard. Right click on the project, select Properties, Fortran, External Procedures and change the calling interface to Default. You may also need to change String Length Argument Passing to Default (or "Inherit from project") as well.
0 Kudos
Peter_Priestley
Beginner
441 Views
The nonsense between /iface:cvf and the DEFAULT attribute is fixed in 8.0.042 and 8.0.044. I'd still recommend you set /iface:default as Steve suggestsunless there is a specific reasonto have it the other way (e.g. linking to 3rd party library).
0 Kudos
Reply