- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
What I used Visual Studio 2010 with MKL 2013 installed to upgrade a complex C#/Fortran solution from Visual Studio 2008/Intel fortran 10. When I build the project, I get an error linking the Fortran DLL. The error is LNK2019: unresolved external symbol _MKL_FREEBUFFERS referenced in function _RUN_CTRL.
What can I do to resolve this error?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Check the spelling of the routine in the manual for the MKL version that is being used. I believe that it should be mkl_free_buffers.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Don,
Yes, could you please find the exact MKL version, MKL library being used or provide us a small test case?
And the latest version is MKL 11.3 update 1. and the documentation was
https://software.intel.com/en-us/node/471174
Syntax
-
call mkl_free_buffers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
In VS on the Tools menu it shows Intel Composer XE 2013 SP1. I am not sure how to get the exact MKL library version.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
This is the form of the call to freebuffers in the fortran module:
CALL MKL_FreeBuffers()
So I added the include statement:
INCLUDE 'mkl.fi'
at the top of the module.
This did not solve the problem.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Aha, changed the call to MKL_Free_Buffers and that worked.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi Don,
Great news! as mejec mentioned, we change the API name MKL_FreeBuffers() in these version between Intel Composer XE 2013 SP1 and Intel fortran 10) . You can open the mkl.h or mkl.fi , which is supposed in <MKl insatll direcory>\include\mkl.h|mkl.fi to find the exact version.
and check the function's declaration in mkl_service.fi. for example
INTERFACE
subroutine MKL_FREE_BUFFERS()
END
END INTERFACE.
Best Regards,
Ying

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page