I am working on Visual Studio 2008(C++) on Windows XP environment.
My release build exe gives following error at random i.e. one out of every 4-5 times when I start the application. Haven't seen it once the applications starts normally.
OMP: Error #13: Assertion failure at z_Windows_NT_util.c(426)
OMP: Hint: Please submit a bug report with this message, compile and run commands used, and machine configuration info including native compiler and operating system versions. Fatser response will be obtained by including all program sources. For information on submitting this issue, please see http://www.intel.com/software/products/support/.
I originally linked with libiomp5md.dll only and had not included libiom5md.lib in linker dependency.
However, after seeing the other thread on same topic, I have added libiomp5md.lib in linker dependency. Also, excluded vcomp90.lib specifically. Still, the issue remains.
My application has lot of dlls which are compiled using visual c++ compiler, however, the dll which uses omp and the application exe are compiled using intel compiler only.
Please help. Let me know if anymore info is required.
Have removed libguide40.dll and couldn't see this error again. Could someone confirm if this diagnosis has some chance of being correct?
However, shouldn't runtime system behave consistently if both dlls are present?
I have no control over the third party dll so is there a way to link both the dlls and still not get this error? Is KMP_DUPLICATE_LIB_OK = true a way to resolve this? However, I also read this has side effects and not recommended one.
Is setting /Qopenmp-lib:legacy workable? I tried to set the same instead of /Qopenmp in VS2008 but it doesn't allow stating incorrect syntax. Where should I set this?
The openmp-lib:legacy option was discontinued some time ago, although I suppose it was meant for situations such as you describe.
xilib: warning #10006: ignoring unknown option '/Qopenmp-lib:legacy'
After I install the package with only libguide40.dll, the app doesn't start with the error that libiomp5md.dll is required.
What's the clean way of compiling with 11.x compiler and still link with libguide40.dll?