-1
我有一個非常簡單的OpenMP Hello World程序,因爲這:在OS通過CMake編譯OpenMP程序X
#include <stdio.h>
#include <omp.h>
int main()
{
#pragma omp parallel
{
int id = omp_get_thread_num();
printf("hello, from %d.\n", id);
}
return 0;
}
我可以gcc-5 -fopenmp hello.c -o hello.o
編譯它在我的終端,但我想代碼克利翁,它使用的CMake來組織項目,當我點擊運行按鈕,我會得到一個錯誤
fatal error: 'omp.h' file not found
#include <omp.h>
我做的搜索在谷歌,並添加一些東西到我的CMakeLists.txt文件
這是我的CMakeLists.txt文件:
cmake_minimum_required(VERSION 3.3)
project(openmp)
OPTION (USE_OpenMP "Use OpenMP" ON)
IF(USE_OpenMP)
FIND_PACKAGE(OpenMP)
IF(OPENMP_FOUND)
SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
ENDIF()
ENDIF()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -fopenmp")
set(SOURCE_FILES hello.c omp.c)
add_executable(openmp ${SOURCE_FILES})
感謝您的回答! 我已將此行添加到我的CMakeList文件,但我仍然有這個錯誤 **鏗鏘:錯誤:不支持選項'-fopenmp'** 我知道也許該clion使用默認的gcc,它需要是gcc-5 ,所以你可以告訴我如何修改,使其工作,再次感謝 – GeneGi
非常感謝! – GeneGi
CLion使用CMake設置的GCC。所以如果你使用CMake與GCC 5一致,CLion也會使用它。所以是的,只要按照上面的答案。 – nastasiak2512