- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I create a new thread as it is about another subroutine, If I am wrong please inform me.
I tried to use this Subroutine ( DLPRS) in a simple program, and instead of right compilation I received 2 errors building this project. here is the report
1>imslhpc_l.lib(dl2trg.obj) : error LNK2019: unresolved external symbol DGETRF referenced in function DL2TRG
1>imslhpc_l.lib(dlslrt.obj) : error LNK2019: unresolved external symbol DTRTRS referenced in function DLSLRT
1>x64\\Debug\\Console3.exe : fatal error LNK1120: 2 unresolved externals
I suppose that I have to set some options that are not working now, please inform me about.
Please find also attached the file with the code.
Matthaios
1 Solution
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add this line after your PROGRAM statement:
include 'link_fnl_static_hpc.h'
Remove any IMSL or MKL libraries from the linker properties. You can also use:
include 'link_fnl_shared_hpc.h'
include 'link_fnl_static_hpc.h'
Remove any IMSL or MKL libraries from the linker properties. You can also use:
include 'link_fnl_shared_hpc.h'
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Add this line after your PROGRAM statement:
include 'link_fnl_static_hpc.h'
Remove any IMSL or MKL libraries from the linker properties. You can also use:
include 'link_fnl_shared_hpc.h'
include 'link_fnl_static_hpc.h'
Remove any IMSL or MKL libraries from the linker properties. You can also use:
include 'link_fnl_shared_hpc.h'
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
You have not reached a correct understanding of how to build a program that uses IMSL routines.
Your statement "instead of right compilation I received 2 errors" is a misinterpretation of what happened. There were no compilation errors, but there were linker errors ("unresolved external symbol") because you did not follow the protocol(s) for building IMSL-dependent applications. Steve Lionel indicated one of the protocols. Another is to specify the IMSL libraries as additional libraries to be searched in the link step. How to do this? You should consult the IMSL documentation.
Your statement "instead of right compilation I received 2 errors" is a misinterpretation of what happened. There were no compilation errors, but there were linker errors ("unresolved external symbol") because you did not follow the protocol(s) for building IMSL-dependent applications. Steve Lionel indicated one of the protocols. Another is to specify the IMSL libraries as additional libraries to be searched in the link step. How to do this? You should consult the IMSL documentation.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
To add a bit, there are six combinations of IMSL libraries one can use. There's a set that is just IMSL and OpenMP, a set that uses Intel MKL for some functions, and a set that uses Intel MPI to distribute work (instead of OpenMP. Each of these is available in both static and DLL forms. IMSL provides the include files that have OBJCOMMENT directives that name the appropriate libraries to link against. If you are building from the command line, there are LINK_FNL_xx environment variables you can use, or you can name the libraries directly. If you choose the last, you need to make sure you get them all.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Thank you for your recommendation, I will take a deeper look.
I used DDLPRS (double precision) subroutine and it gives different result for the same problem comparing with an analysis that I did in CVF. In addition I received for a bigger problem FATAL ERROR 4 from DDLPRS , numerical difficulty occured; double precision may help ... but I am using double precision call (DDLPRS instead of DLPRS).
I will appreciate any suggestion.
thank you in advance
Matthaios
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
DDLPRS gives different result for
the same problem comparing with an analysis that I did in CVF.
If you show the specific problem with source code, and explain how the two results differ, someone may take a look. Without such details, little can be done.
If you show the specific problem with source code, and explain how the two results differ, someone may take a look. Without such details, little can be done.

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