I have been playing with OPENMP and Fortan in both Windows and Linux platforms. In Windows, I have noticed that whenever I set the /iface:cvf compiler flag and, of course, alsouse /Qopenmp, I get the following linking error:
LINK : warning LNK4098: defaultlib 'LIBCMT' conflicts with use of other libs; use /NODEFAULTLIB:library
libguide40.lib(kmp_ftn_stdcall_import.lobj) : error LNK2019: unresolved external symbol _kmp_set_library_gang referenced in function _KMP_SET_LIBRARY_GANG@0
Debug/HelloWorldOpenMP.exe : fatal error LNK1120: 1 unresolved external
This type of linking error happens with all Fortran-External Procedures-Calling Conventions, but the C, REFERENCE flag. Anyway, I wonder if the error I get is because the libraries we have are not up to date, or for some reason the /iface:CVF flag is not compatible with the /Qopenmp compiler flag.
We want to parallelize out power systems applications, most of the code is in FORTRAN, but we also use C and C++ to implemet some parts of our system. I think that this is the reason why in our build procedures we need to have the /iface:cvf flag set.
For completeness I have attached a small HelloWorld program where this happens (though I think it is not needed to reproduce this problem).
I appreciate any help with this issue.