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

Compatibility between Fortran and RTX

florian123
Beginner
702 Views
Hi,

I work on a project composed by some C static libraires (created by MS Visual Studio) and One Fortran static library (created byIntel Fortran Compiler).
All these libraries are linked in a MS Visual Studio project to create an RTX application (.rtss).

My problems deals with the I/O functions called in the Fortran code (like open, close, write, read, stop, ...).
With these called functions, errors appear. Like:

error LNK2019: symbole externe non rsolu _for_write_seq_lis rfrenc dans la fonction _abc_ part_fortran.lib

error LNK2019: symbole externe non rsolu _for_write_seq_lis_xmit rfrenc dans la fonction _abc_ part_fortran.lib

error LNK2019: symbole externe non rsolu _for_stop_core rfrenc dans la fonction _abc_ part_fortran.lib

error LNK2001: symbole externe non rsolu _for_stop_core part_fortran.lib

error LNK2001: symbole externe non rsolu _for_stop_core part_fortran.lib

error LNK2001: symbole externe non rsolu _for_stop_core part_fortran.lib

I solved these errors by including Intel libraries (libmmt.lib libircmt.lib libifcoremt.lib ifconsol.lib);
These new libraries solve all the errors of the project, but smoe new errors appear.
Like:

error LNK2019: symbole externe non rsolu __imp__FormatMessageA@28 rfrenc dans la fonction _write_message libmmt.lib

error LNK2001: symbole externe non rsolu __imp__FormatMessageA@28 libirc.lib

error LNK2019: symbole externe non rsolu __imp__GetThreadLocale@0 rfrenc dans la fonction _write_message libmmt.lib

error LNK2001: symbole externe non rsolu __imp__GetThreadLocale@0 libifcoremt.lib

error LNK2019: symbole externe non rsolu __imp__GetFileInformationByHandle@8 rfrenc dans la fonction _for__reopen_file libifcoremt.lib

error LNK2019: symbole externe non rsolu __imp__GetFullPathNameA@16 rfrenc dans la fonction _for__compute_filename. libifcoremt.lib

These symbols unresolved exist because, in the RTX libraries, there aren't all the kernel32.dll and the user32.dll functions.

Do you have an idea to combine Intel libraries to solve these erros?

Thks in advance,

0 Kudos
1 Reply
Steven_L_Intel1
Employee
702 Views
The Intel libraries assume that the full Windows API is available. We don't support use with non-Microsoft subset libraries. You might try creating some dummy or jacket routines by these names (the __imp_ means it is from a DLL import library) and hope that your application does not do something that makes a call to these.
0 Kudos
Reply