- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Is there a problem when calling a dynamic link library, created in Intel Fortran, from a Compaq Fortran console application? For example, I created a dll using Intel Fortran v11. Then I created a console application under Intel Fortran v11 to call the dll. I included the .dll and .lib files in the project and it worked. Then, I created a console application using Compaq Fortran v6.0, I included the .dll and .lib files created under Intel Fortran in the project, and I had the following linking error:
workbook for simple calling from compaq.exe - 2 error(s), 0 warning(s)
--------------------Configuration: workbook for simple calling from compaq
- Win32 Debug--------------------
Linking...
sub.obj : error LNK2001: unresolved external symbol _PROCESS_MODEL@12
Debug/workbook for simple calling from compaq.exe : fatal error LNK1120: 1
unresolved externals
Error executing link.exe.
workbook for simple calling from compaq.exe - 2 error(s), 0 warning(s)
--------------------Configuration: workbook for simple calling from compaq- Win32 Debug--------------------Linking...sub.obj : error LNK2001: unresolved external symbol _PROCESS_MODEL@12Debug/workbook for simple calling from compaq.exe : fatal error LNK1120: 1unresolved externalsError executing link.exe.workbook for simple calling from compaq.exe - 2 error(s), 0 warning(s)
Link Copied
3 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
CVF 6.x and Intel Fortran (all versions since 4.0) use different default calling conventions. Both have compiler switches to produce code compatible with the other.
However, if you have the sources for the DLL as well as the console application, what reason is there to use more than a single compiler for the entire project?
However, if you have the sources for the DLL as well as the console application, what reason is there to use more than a single compiler for the entire project?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
We do that due to confidentiality reasons. We use a licence from Intel Fortran and we produce a dll for a customer that has Compaq Fortran.
Regarding these switches that you mentioned, could you please provide me more details?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
/iface:cvf is the primary option you want. This will make Intel-generated routines have CVF-compatible interfaces. In Visual Studio, this is project property Fortran > External Procedures > Calling Convention > CVF.

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