Я должен использовать Microsoft Visual C ++ 2013 для создания проекта, который использует OpenMP и ссылки на библиотеку Intel MKL, которая также использует OpenMP. Проблема в том, что Visual C ++ 2013 использует OpenMP 2.0, а MKL построен на OpenMP 4.x.
Кажется, все работает нормально, даже если это может быть ложным впечатлением.
Я получаю некоторые из этих предупреждений:
warning C4005: 'HUGE_VALF' : macro redefinition
Я не могу просто отключить эти предупреждения. Как я могу их исправить?
Как указано в ответах, я должен исключить собственную реализацию Microsoft OpenMP и использовать только Intel. Поэтому я добавил это в свой файл CMakeLists.txt:
# Disable Microsoft's default OpenMP v.2 inclusion
set_target_properties(${PROJECT_LIB} PROPERTIES LINK_FLAGS /nodefaultlib:vcomp)
set_target_properties(${PROJECT_LIB} PROPERTIES LINK_FLAGS /nodefaultlib:vcompd)
set_target_properties(${PROJECT_LIB} PROPERTIES LINK_FLAGS libiomp5md.lib)
Однако я все еще получаю те же предупреждения ...