在CMake中引入OpenMP

基本方法

find_package(OpenMP REQUIRED)

if(OpenMP_FOUND)
    # 为当前目标添加OpenMP编译选项
    target_link_libraries(your_target_name PRIVATE OpenMP::OpenMP_CXX)
endif()

完整示例

cmake_minimum_required(VERSION 3.26)
project(TestMemoryOrder)

set(CMAKE_CXX_STANDARD 20)

find_package(OpenMP REQUIRED) # 查找OpenMP的库


add_executable(TestMemoryOrder main.cpp
#        lock_free_queue.h
#        parallel_accumulate.cpp
#        parallel_accumulate_package_task.cpp
#        parallel_accumulate_exception_safty.cpp
#        chapter_09/barrier.h
#        chapter_09/join_threads.h
#        chapter_09/parallel_partial_sum.cpp
#        chapter_09/interruptible_thread.h
#        chapter_09/interrupt_flag_wait.h
)

if(OpenMP_FOUND)
    target_link_libraries(TestMemoryOrder PRIVATE OpenMP::OpenMP_CXX)
endif ()
posted @ 2025-08-04 14:40  BlackSnow  阅读(52)  评论(0)    收藏  举报