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

Fortran Compiler install for VS2022

VicSchabort
Beginner
483 Views

I installed VS2022 and oneAPI toolkit with Fortran included.

It seems that that the only ifx is installed and not ifort?

So is it confirmed that ifort is not available under oneAPI toolkit, only ifx.

And is ifx 64 bit only and not also 32 bit optionally.?

my existing  c++ builder 32 bit applications include a few fortran dll's created using Intel Parallel Studio and i am struggling to integrate all using these new platfoms. It seems to be not that simple

0 Kudos
1 Solution
MarcGrodent
New Contributor I
469 Views

Yes, ifort is no longer distributed by Intel and ifx is 64-bit only.

Check out this link for more information about how to access older versions of the compiler:

https://community.intel.com/t5/Intel-Fortran-Compiler/Older-Compiler-Download-Information/m-p/1372725#M160803 

 

View solution in original post

2 Replies
MarcGrodent
New Contributor I
470 Views

Yes, ifort is no longer distributed by Intel and ifx is 64-bit only.

Check out this link for more information about how to access older versions of the compiler:

https://community.intel.com/t5/Intel-Fortran-Compiler/Older-Compiler-Download-Information/m-p/1372725#M160803 

 

VicSchabort
Beginner
361 Views

I am testing the methodology to integrate Fortran DLL modules into C++ (RAD Studio IDE) applications.  All worked perfectly via the 32bit Fortran compiler integrated into the previous Intel Parallel Studio XE (Under Visual Studio 2015).  First convert the .LIB file in COFF (Common Object File Format) format to COM (Common Object Module) using COFF2COM, include it into the C++ Project File (for Linking) and add the related DLL to the executable folder.

To upgrade to the latest Intel oneAPI with 64 bit Fortran Compiler (IFX) integrated into Visual Studio, the challenge is now to integrate the DLL's (64 bit Fortran) into the C++ based applications (obviously now also 64bit).

Currently, I have RAD Studio C++ Builder 11.0, which only support the Classic Win64 target platform (BCC64) and would need a specific format of DLL for integration. To make the DLL visible to the C++ code for calling, under (Classic Win64) I was led (Grok) to use the MKEXP utility to translate the DLL to a ".a" (ELF - Executable and Linkable Format) file for inclusion into the project file for Linking.

I have encountered a problem here, however.  When I try to link an error is returned: 

"[ilink64 Error] Fatal: Archive file 'TESTDLL.A' lists no symbols in its dictionary. "

Maybe its related to the parameters passed...? (INTEGER, REAL CHARACTER < Fortran >  -< C++ > *int, *float, *char)?

Is there anyone with some experience that could provide some guidance on how to integrate 64 bit fortran module dlls into C++..?

Here is the contents of the .a file as presented by Turbo Dump 

------------------------------------------------------------------------------------------------------------------------

Turbo Dump Version 6.6.1.0 Copyright (c) 1988-2021 Embarcadero Technologies, Inc.
Display of File testdll.a


Ar 32-bit unix archive file

------------ Member Headers -----------
ndx member offs size mode uid gid time
0 TestDLL CA 2B8 0 0 0 Oct 23 12:18:33 2025


------------ Symbols ----------- (0 entries)
ndx name

 

----------------------------------------------------------------------------------

Apparently, the latest Versions of C++ Builder (12 and later? not sure) supports a new Modern 64bit Platform BCC64x that would support COM format DLLS's

0 Kudos
Reply