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

IFORT switch to IFX causes linking errors for DLL

Mike-E2376
Beginner
322 Views

I have a Fortran DLL for Microsoft Windows that I have build using the IFORT Compiler Classic.  It is called from a C# Microsoft.NET application.  Seeing the note that IFORT is deprecated and to be discontinued, I have tried to change it to use IFX and build a 64-bit version of the DLL.  While it compiles without any issues under IFORT, I get several undefined symbol errors when I try to build an x64 or AnyCPU option for the DLL:

Error error: undefined symbol: _seh_filter_dll lld-link
Error error: undefined symbol: _configure_narrow_argv lld-link
Error error: undefined symbol: _execute_onexit_table lld-link
Error error: undefined symbol: _cexit lld-link
Error error: undefined symbol: _initterm lld-link
Error error: undefined symbol: _initialize_onexit_table lld-link
Error error: undefined symbol: _register_onexit_function lld-link
Error error: undefined symbol: terminate lld-link
Error error: undefined symbol: _crt_at_quick_exit lld-link
Error error: undefined symbol: _initterm_e lld-link
Error error: undefined symbol: _initialize_narrow_environment lld-link
Error error: undefined symbol: _crt_atexit lld-link

I cannot find any discussion or guidance on how to resolve these undefined symbol errors.  These are not routines I see anywhere in my code or clearly discussed online, but if I search for the individual symbol names, they do come up in MSDN documentation.  But there is not clear guidance on how to recognize them in a project other than several different *.h files.  For the short term, I am going back to the IFORT compiler.

0 Kudos
1 Reply
Barbara_P_Intel
Moderator
206 Views

The sample of C#/Fortran works just fine with ifx. The samples can be downloaded from here.

Can you share your Fortran code as a reproducer?

What version of ifx are you using?

Please share your compiler options for both ifx and ifort.

 

 

0 Kudos
Reply