I'm trying to use the MKL functions from Embarcadero C++ Builder (ex-Borland C++), via linking with the single mkl_rt.dll file. I am finding that every MKL method I call results in a call to TerminateProcess from within the MKL. My guess is that this indicates an error condition of some sort in the MKL itself (alignment? FPU word?) but nothing is printed to the debug console, and the app just terminates.
Searching on this forum and elsewhere for this gave no results.
Has anyone seen this before, or do you know what might cause a call to TerminateProcess from within the MKL library?
Further details are in the Stack Overflow question (copy/pasting here feels like spam.) http://stackoverflow.com/questions/19728499/intel-mkl-functions-calling-terminateprocess-internally
One possible cause is that the .lib files are COFF format only, unfortunately, so I am generating an OMF library straight from the DLL via the implib tool. If there is an error in this or it's linking to, say, the stdcall version instead of the cdecl version, that would cause problems. However, I tried dynamically loading the methods via LoadLibrary and GetProcAddress and the same thing happened, so I suspect something else is going on. I have also tried linking to some of the other libs suggested by the link line advisor for both dynamic and static linking (eg, mkl_intel_c_dll.lib mkl_core_dll.lib mkl_sequential_dll.lib) but converting these from COFF to OMF has given very mixed results and I haven't successfully linked that way yet. I have no reason to think it either would or would not make a difference, either.