has to be supplied by your OpenMP library. The header file doesn't implement much of OpenMP; the compiler has to have built-in OpenMP capability and a very substantial library is needed, which in turn will depend on a threading implementation provided with the OS.
has internal function names which are specific to the associated library. It may translate only those OpenMP functions which you write explicitly, such as omp_set_num_threads(), omp_get_wtime(),.... and might not be needed even then, if your OpenMP happens to agree with legacy explicit definitions of those functions.
Intel OpenMP for Windows supports OpenMP compilation by MSVC (using MSVC or by ICL (using its ). Other commercial compilers for Windows, such as PGI, supply their own OpenMP. mingw supplies an adequate OpenMP for Windows 7 X64 (not as good as gcc OpenMP on linux), but it won't mix with any other of those I just mentioned.
MSVC Express doesn't supply the vcomp library, but (last I checked) it will work with the ICL (32-bit) OpenMP. It doesn't do native X64.
Likewise, linux compilation using either gcc or icc can link against the Intel OpenMP library.
None of these compilers will likely catch your error until link time if you give them an incompatible combination of and library.
If you aren't using an Intel compiler, trying to go further to define what you mean by "this problem" isn't topical here, nor is finding out which non-Intel compilers might plug into Kdevelop on Windows.
There is no way an IDE such as Kdevelop can have a single which will work with all possible OpenMP implementations.