OMP abort: Initializing libguide.lib, but found libguide40.lib already

Symptom(s):
OMP abort: Initializing libguide.lib, but found libguide40.lib already initialized.

This can cause performance degradation.

Set environment variable KMP_DUPLICATE_LIB_OK=TRUE if you want your program to continue in this case.

Cause:

mkl_c.lib is one of mkl static library interface. It defines libguide.lib as a default library for resolution of threading library calls. But other Intel® software such as Intel® IPP, Intel® C++ Compiler and Intel® OpenCV defined libguid40.lib as default. So the error arises because of the duplicate initialization of libguide.lib when using static MKL library and other Intel software at the same time.

Solution:

You could use linker switch /nodefaultlib:libguide.lib and link with libguide40.lib by adding the option to the link line or in project option.

For example, link users.obj mkl_c.lib /nodefaultlib:libguide.lib libguide40.lib. This will stop mkl_c.lib from defining libguide.lib as a default library for resolution of threading library calls.

Operating System:

Windows* XP Professional, Windows* XP Home Edition, Windows* XP Tablet PC Edition, Windows* XP Media Center Edition
Nähere Informationen zur Compiler-Optimierung finden Sie in unserem Optimierungshinweis.