error LNK2019: unresolved external symbol __iob


Symptom

When compiling an Intel® MKL-based application in Microsoft* VS 2005 with Intel® MKL mkl_solver.lib, the compiler reports:

mkl_solver.lib(print_ci.obj) : error LNK2019: unresolved external symbol __iob referenced in function _PRINT_CI

OR

ml_solver.lib(d_print_fgmres_f.obj) : error LNK2019: unresolved external symbol __iob referenced in function _d_fgmres_print_diagnostics

Note: The error happens only on IA32.


Cause

Unfortunately, there's inconsistency between Microsoft* VS 2005 and older versions of libc in Intel MKL 8.0. We build the mkl_solver.lib by Intel® C compiler and the compiler being invoked under Microsoft* VS.net 2003 generates undefined __iob reference, which is bound to the older libc versions.


Solution

Please use Intel MKL 9.0 or later to resolve this issue.

 


Einzelheiten zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.