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

From Linux (ifort) to Windows (IVF+MVS)

Maxim
Beginner
2,840 Views
From Linux (ifort) to Windows (IVF+MVS)

I have a mixing (fortran main and c static lib) project. I have no problem for Linux. But I need to compile this project for Windows. Im trying to use Intel Visual Fortran for MVS 2010 (Windows 7 (64 Pro)).

I selected the next options:

Fortran/Preprocessor/Preprocessor Source File: Yes(/fpp)

Fortran/Compatibility/Enable F77 Run-time Compatibility: Yes(/f77rtl)

Fortran/Compatibility/Use F77 Integer Constants: Yes(/inconstant)

Fortran/ Diagnostics /Check Routine Interface/: No

For this options compile give me:

remark #5169: Misplaced conditional compilation directive or nesting too deep

error #6437: A subroutine or function is calling itself recursively.

If I setup the last item to

Fortran/ Diagnostics /Check Routine Interface/: ->Yes

there are additional errors:

error #7836: If the actual argument is scalar, the corresponding dummy argument shall be scalar unless the actual argument is an element of an array that is not an assumed-shape or pointer array, or a substring of such an element.

error #7983: The storage extent of the dummy argument exceeds that of the actual argument.

For Linux I use both gfortran and ifort and all ok!

What should I change for Windows?

Thanks!!!

0 Kudos
1 Solution
Steven_L_Intel1
Employee
2,842 Views
So simple when I have the forest instead of individual leaves.

You have two problems, both of them on the C side.

The conditional code in sources such as memalloc.c and creapdb.c has a part like this:

#elif defined(PC)
#define creapdb (_stdcall CREAPDB)

It is evident that the writer of this code assumed that you would be using CVF or perhaps Microsoft Fortran PowerStation, hence the _stdcall. Take that out so that the line reads:

#define creapdb (CREAPDB)

The second problem is that the PC preprocessor variable is not defined for this project. Add it under C/C++ > Preprocessor > Preprocessor definitions.

Or do what you did in memalloc.c and just add the appropriate define directly (remove the _stdcall there,) If you fix this in both of those sources, and then build, it will succeed.

View solution in original post

0 Kudos
24 Replies
Steven_L_Intel1
Employee
2,372 Views
5169: you have an error in your preprocessor directives
6437: this should be self-explanatory. Add the RECURSIVE keyword before the FUNCTION or SUBROUTINE if that is intended
7836 and 7983 indicate coding errors detected by generated interface checking. You evidently did not use that on Linux. Fix the coding errors.

That some other compiler did not detect these errors is not surprising.
0 Kudos
TimP
Honored Contributor III
2,372 Views
These don't appear to be questions specific to Windows; they result from your having stricter syntax checking enabled within the Fortran. Your program reliability could be improved for both Windows and linux by correcting them.
Supplying a scalar argument to a dummy array usually works on Intel platforms, but violates Fortran syntax.
Functions which are recursive should have the RECURSIVE keyword throughout the call stack to make them safe for such usage.
0 Kudos
Maxim
Beginner
2,372 Views

Thanks to all for fast answers. Really Im absolutely newbie in Fortran.

I think my cod has problem with preprocessing. The first warning from compile is

remark #5169: Misplaced conditional compilation directive or nesting too deep

for line CDEC$ END IF in code:

subroutine datime(day)

character*24 day

#ifdef PC

cDEC$ IF DEFINED (PC)

character*24 fdate

external fdate

day=fdate()

cDEC$ ELSE

#elif (AIX)

external fdate_

call fdate_(day)

#else

character*24 fdate

day=fdate()

#endif

CDEC$ END IF

end

Error with recursion happens here

#ifdef PC

cDEC$ IF DEFINED (PC)

recursive subroutine objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

cDEC$ ELSE

#elif (IFC) || (AIX)

recursive subroutine objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

#else

subroutine objvertices(nacc,nobject,xmin,xmax,side,h

& ,natom,lookmol)

#endif

0 Kudos
Steven_L_Intel1
Employee
2,372 Views
You don't need to have both CDEC$ IF and #if in the source. Just use the # syntax with /fpp.

I see in some lines you have the # not in column 1, or at least that's what it looks like here. They should be in column 1.

Where is the recursive call the compiler complains about? Do you perhaps need to add PC as a preprocessor definition? It is not clear to me why all this conditional code is being used.
0 Kudos
Maxim
Beginner
2,372 Views

Thanks again!

I removed all CDEC$ IF and #if. Compiler is ok. But I received many errors from link:

error LNK2001: unresolved external symbol _MEMALLOC

What is it?

0 Kudos
Steven_L_Intel1
Employee
2,372 Views

I did not suggest removing both the CDEC$ if and #if. It's evident you need the #if lines at least.

The _MEMALLOC error is because your program, at least in the form you have it now, calls a routine named MEMALLOC. This is not standard Fortran and is not a routine provided by Intel Fortran.

0 Kudos
Maxim
Beginner
2,372 Views

Thank you very much!

I work with solution. Solution has a 2 projects one project in Fortran other in C . Project in C has function memalloc.c. Should I to setup a special options for link?

0 Kudos
Steven_L_Intel1
Employee
2,372 Views
The C project should be a static library project. Right click on the Fortran project and select Dependencies. Check the box on the C project to make it a dependent of the Fortran project.

Make sure that the memalloc routine in C is actually named MEMALLOC in upper case.

Right click on the C project and select Properties > C++ > Code Generation. Make sure that the Runtime Library setting matches the one in the Fortran project under Libraries.
0 Kudos
Maxim
Beginner
2,372 Views

Steve,

Thanks you for help!

I will check all items again.

Because, the last error remains.

If I cannot fix this error I try to ask you again.

Maxim

0 Kudos
Maxim
Beginner
2,372 Views

I created my project again.

I setup next properties:

Fortran/Preprocessor/Preprocessor Source File: Yes(/fpp)

Fortran/Compatibility/Enable F77 Run-time Compatibility: Yes(/f77rtl)

Fortran/Compatibility/Use F77 Integer Constants: Yes(/inconstant)

Fortran/Libraries/ Runtime Library: Multithreaded

Fortran/ Diagnostics /Check Routine Interface/: No

C/C++/Code Generation/Runtime Library: Multi-threaded (/MT)

Fortran set as Startup Project. Fortran project dependencies form C project.

But I have errors from linker:

error LNK2019: unresolved external symbol _MEMALLOC referenced in function _SETCRG

file memalloc.c is:

#define memalloc (_stdcall MEMALLOC)

void *memalloc( void **ptr,int *entry_size, int *new_size )

{ void *newptr;

/* printf("\n Entry_size: %d, new_size: %d\n",*entry_size, *new_size);*/

if(!*new_size)

{

if(*ptr) free(*ptr);

return NULL;

}

if(!*ptr) {

newptr=calloc((size_t)(*new_size),(size_t)(*entry_size));

/*printf("\n *ptr: %p, newptr: %p, newptr int : %ld\n",*ptr,newptr,newptr);*/

}

else { newptr=realloc(*ptr, (size_t)((*new_size)*(*entry_size)));

/*printf("\n realloc: newptr: %p, newptr int : %d\n",*ptr,newptr);*/ }

if (newptr == 0 && *new_size != 0)

{

#ifdef PC

perror("memalloc");

#else

perror("memalloc");

#endif

exit(EXIT_FAILURE);

}

return newptr;

}

And from function setcrg.f I call memalloc like next:

i_cgbp=memalloc(i_cgbp,realsiz,5*ibcmax).

Compile for Linux is OK!

0 Kudos
Steven_L_Intel1
Employee
2,372 Views
Please attach the buildlog.htm showing the failed link.
0 Kudos
Maxim
Beginner
2,372 Views
Thanks Steve!!!

Build Log

Build started: Project: DelphiFortran, Configuration: Debug|Win32

Output
Deleting intermediate files and output files for project 'DelphiFortran', configuration 'Debug|Win32'.
Compiling with Intel Visual Fortran Compiler XE 12.0.1.127 [IA-32]...
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setbc4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\relfac4b.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\indver.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cfind4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtsit4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\watput.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\radass4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\extrmobjects.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\elb.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\srfestim.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\omalt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\mkvtl.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\crgarr.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\scaler4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\react2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ichash4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cent4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtprm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\watpte.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\qinttot.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\extrm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\distrTOpoint.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setrc4d.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\off4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\mkdbsf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cputime.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\scale.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdlog4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\grdatm.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\assrad.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtphi.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\vwtms2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\expand4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\distobj.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setout.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\objvertices.F"
D:\Clemson\DELPHI\DELPHI_VS2010\src\objvertices.F(181): warning #6371: A jump into a block from outside the block may have occurred.   [350]
     &               go to 350
---------------------------^

ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\itit4j.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\conplt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\sas.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdiv.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\getatm2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\epsmak.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\asscrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtgcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\up.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phintp4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\nitit.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ex.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\dbsfd.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setfcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rfind4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\nlener.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\irhash4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\clb.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\anasurf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtvisual.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtatd.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rforce.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdhrad.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\fxhl.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\encalc4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrteps4b.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\ts.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phierg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\namlen3.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\cube.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\setcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rent4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\inewt.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\chkcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\anagrd4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrtsurf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\wrt4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\rdhcrg.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\form2.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\encalc_qnifft.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\timef.F"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\phicon.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\msrf.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:f /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\crgass4.f"
ifort /nologo /debug:full /Od /fpp /f77rtl /intconstant /module:"Debug\" /object:"Debug\" /Fd"Debug\vc100.pdb" /traceback /check:bounds /libs:static /threads /c /extfor:F /Qvc10 /Qlocation,link,"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\\bin" "D:\Clemson\DELPHI\DELPHI_VS2010\src\qdiff4v.F"
Linking...
Creating temporary file "RSP1.rsp" with contents
[
 /OUT:"Debug\DelphiFortran.exe" /INCREMENTAL:NO /NOLOGO /LIBPATH:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiC\DelphiC\Debug" /MANIFEST /MANIFESTFILE:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.pdb" /SUBSYSTEM:CONSOLE /IMPLIB:"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\DelphiFortran.lib" "Debug\setbc4.obj" "Debug\relfac4b.obj" "Debug\indver.obj" "Debug\cfind4.obj" "Debug\wrtsit4.obj" "Debug\watput.obj" "Debug\radass4.obj" "Debug\extrmobjects.obj" "Debug\elb.obj" "Debug\srfestim.obj" "Debug\omalt.obj" "Debug\mkvtl.obj" "Debug\crgarr.obj" "Debug\scaler4.obj" "Debug\react2.obj" "Debug\ichash4.obj" "Debug\cent4.obj" "Debug\wrtprm.obj" "Debug\watpte.obj" "Debug\qinttot.obj" "Debug\extrm.obj" "Debug\distrTOpoint.obj" "Debug\setrc4d.obj" "Debug\off4.obj" "Debug\mkdbsf.obj" "Debug\cputime.obj" "Debug\scale.obj" "Debug\rdlog4.obj" "Debug\grdatm.obj" "Debug\assrad.obj" "Debug\wrtphi.obj" "Debug\vwtms2.obj" "Debug\expand4.obj" "Debug\distobj.obj" "Debug\setout.obj" "Debug\objvertices.obj" "Debug\itit4j.obj" "Debug\conplt.obj" "Debug\sas.obj" "Debug\rdiv.obj" "Debug\getatm2.obj" "Debug\epsmak.obj" "Debug\asscrg.obj" "Debug\wrtgcrg.obj" "Debug\up.obj" "Debug\phintp4.obj" "Debug\nitit.obj" "Debug\ex.obj" "Debug\dbsfd.obj" "Debug\setfcrg.obj" "Debug\rfind4.obj" "Debug\nlener.obj" "Debug\irhash4.obj" "Debug\clb.obj" "Debug\anasurf.obj" "Debug\wrtvisual.obj" "Debug\wrtatd.obj" "Debug\rforce.obj" "Debug\rdhrad.obj" "Debug\fxhl.obj" "Debug\encalc4.obj" "Debug\wrteps4b.obj" "Debug\ts.obj" "Debug\phierg.obj" "Debug\namlen3.obj" "Debug\cube.obj" "Debug\setcrg.obj" "Debug\rent4.obj" "Debug\inewt.obj" "Debug\chkcrg.obj" "Debug\anagrd4.obj" "Debug\wrtsurf.obj" "Debug\wrt4.obj" "Debug\rdhcrg.obj" "Debug\form2.obj" "Debug\encalc_qnifft.obj" "Debug\timef.obj" "Debug\phicon.obj" "Debug\msrf.obj" "Debug\crgass4.obj" "Debug\qdiff4v.obj" "D:\Clemson\DELPHI\DELPHI_VS2010\DelphiC\Debug\DelphiC.lib"
]
Creating command line "Link @"D:\Clemson\DELPHI\DELPHI_VS2010\DelphiFortran\Debug\RSP1.rsp""

Link: executing 'link'
setcrg.obj : error LNK2019: unresolved external symbol _MEMALLOC referenced in function _SETCRG
msrf.obj : error LNK2001: unresolved external symbol _MEMALLOC
qdiff4v.obj : error LNK2001: unresolved external symbol _MEMALLOC
setfcrg.obj : error LNK2001: unresolved external symbol _MEMALLOC
nlener.obj : error LNK2001: unresolved external symbol _MEMALLOC
clb.obj : error LNK2001: unresolved external symbol _MEMALLOC
cube.obj : error LNK2001: unresolved external symbol _MEMALLOC
setout.obj : error LNK2001: unresolved external symbol _MEMALLOC
sas.obj : error LNK2001: unresolved external symbol _MEMALLOC
getatm2.obj : error LNK2001: unresolved external symbol _MEMALLOC
epsmak.obj : error LNK2001: unresolved external symbol _MEMALLOC
mkdbsf.obj : error LNK2001: unresolved external symbol _MEMALLOC
scale.obj : error LNK2001: unresolved external symbol _MEMALLOC
wrtphi.obj : error LNK2001: unresolved external symbol _MEMALLOC
vwtms2.obj : error LNK2001: unresolved external symbol _MEMALLOC
indver.obj : error LNK2001: unresolved external symbol _MEMALLOC
wrtsit4.obj : error LNK2001: unresolved external symbol _MEMALLOC
crgarr.obj : error LNK2001: unresolved external symbol _MEMALLOC
react2.obj : error LNK2001: unresolved external symbol _MEMALLOC
qdiff4v.obj : error LNK2019: unresolved external symbol _CREAPDB referenced in function _MAIN__
Debug\DelphiFortran.exe : fatal error LNK1120: 2 unresolved externals


DelphiFortran - 21 error(s), 1 warning(s)

0 Kudos
mecej4
Honored Contributor III
2,372 Views
> For Linux I use both gfortran and ifort and all ok!

I do not think so. Getting code to compile and link when the code has mismatched calls is no feat, since Fortran has separate compilation and implicit interfaces.

Just as not reading a newspapers does not prevent bad things from happening around the world, not using the diagnostic capabilities of the compiler does not make your code bug free.

Bugs of the type that are relevant to the error messages shown have been recognized as being particularly bad because they can go unnoticed for several years and then come to life when least unexpected.
0 Kudos
anthonyrichards
New Contributor III
2,372 Views
Have you included the correct INTERFACE for MEMALLOC in your FORTRAN source where it calls MEMALLOC?
(If not, the compiler has no idea what it is or where it might look for it.)

With an INTERFACE block included, the compiler will know to look for an external function called 'MEMALLOC' having three integer arguments when it tries to satisfy all external links to the .OBJ files created and used by your project, including the .OBJ file created by compiling MEMALLOC.C with your C-compiler (you must of course add the C-compiled .OBJ file to your project if you want it to be searched for external links along with your FORTRAN .OBJ files).

You may have to find out EXACTLY what symbol the C-compiler creates for MEMALLOC in the .OBJ file in which it resides and get the FORTRAN compiler to match it using a compiler directive ATTRIBUTE involving STDCALL,REFERENCE and maybe ALIAS, and so on.
0 Kudos
Maxim
Beginner
2,372 Views

Im sorry for my stupid questions. But if we have simple programs like follow:

Fortran:

PROGRAM HelloWorld

CALL f

END PROGRAM HelloWorld

C:

#include

void f_()

{

printf("Hi! \n");

}

What should I add for compilation?

0 Kudos
TimP
Honored Contributor III
2,372 Views
When taking mixed Fortran and C code from linux to Windows using legacy interfacing, you run into the differing defaults (Windows default uppercase no underscore). iso_c_binding is a well documented good way to overcome this. All the legacy stuff also is covered in the interoperability section of ifort docs.
However, writing to stdout from C in a Fortran program raises portability issues no matter how you do it, on both Windows and linux.
0 Kudos
Steven_L_Intel1
Employee
2,372 Views
It does not look to me as if you made the C project a dependent of the Fortran project. You need to do that. Right click on the Fortran project and select "Project Dependencies...". In the dialog that comes up, check the box for your C project under "Depends on". Click Ok and then rebuild.
0 Kudos
Maxim
Beginner
2,372 Views

I did it in the beginning.

Now project in Fortran depends on project in C.

0 Kudos
Steven_L_Intel1
Employee
2,372 Views
At this point I'll ask that you zip the projects and attach them to a reply here so I can look at them. Please do a Build > Clean first.
0 Kudos
Maxim
Beginner
2,255 Views
Thanks Steve!
I attached file.
0 Kudos
Reply