首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CMake找不到OPENMP(Mingw、Win10、VSCODE)

CMake找不到OPENMP(Mingw、Win10、VSCODE)
EN

Stack Overflow用户
提问于 2020-04-17 20:18:56
回答 1查看 245关注 0票数 0

我正在努力在Win10上使用OpenMP编译一个项目。我的c++项目在VSCODE上,我使用的是MINGW32。错误是:

代码语言:javascript
复制
-- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES)
-- Could NOT find OpenMP_CXX (missing: OpenMP_CXX_FLAGS OpenMP_CXX_LIB_NAMES)
-- Could NOT find OpenMP (missing: OpenMP_C_FOUND OpenMP_CXX_FOUND)
-- Configuring done
-- Generating done
-- Build files have been written to:F:.../build

与在项目中搜索OpenMP相关联的CMakeLists文件如下:

代码语言:javascript
复制
cmake_minimum_required(VERSION 3.10)
project(RayTracing)

set(CMAKE_CXX_STANDARD 17)
set (CMAKE_FIND_ROOT_PATH C:/MinGW)

message(STATUS "Checking OpenMP")
find_package(OpenMP)
IF(OPENMP_FOUND)
    message("Found OpenMP! ^_^")
    # add flags for OpenMP
    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${OpenMP_SHARED_LINKER_FLAGS}")
    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  ${OpenMP_EXE_LINKER_FLAGS}")
    target_link_libraries(RayTracing PUBLIC OpenMP::OpenMP_CXX)
ELSE()
    message("Missed OpenMP! x_x")
ENDIF()

set(SOURCE_FILES main.cpp)

add_executable(RayTracing ${SOURCE_FILES})

是的,我已经搜索了互联网上几乎所有的帖子。但它们都是关于MacOS和clang的。我找不到解决我的问题的办法。有什么想法吗?求求你我真的需要帮助。

EN

回答 1

Stack Overflow用户

发布于 2020-06-04 14:19:05

你还在用旧的MinGW吗?你真的应该改用MinGW-w64。

来自http://winlibs.com/的MinGW-w64构建附带了OpenMP。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61271505

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档