0
OpenMP를 사용할 수 있도록 CLion을 구성하려고합니다. 내 Mac에서 기본 설정을 사용하면 컴파일러가 작동하지 않습니다. 기본 Apple clang은 openMP를 지원하지 않습니다.gcc를 사용할 때 CLion 디버거가 작동하지 않습니다.
컴파일러를 GCC로 변경하면 디버거가 중단 점에서 중단되지 않습니다. 프로그램은 컴파일 된 파일을 실행할 때처럼 실행됩니다.
아래의 CMakeLists.txt 파일은 CLion 디버거와 완벽하게 작동합니다. 컴파일러 플래그를 주석 처리를 제거하면 디버거가 중단 점을 무시합니다.
cmake_minimum_required(VERSION 3.8)
project(CLionTest)
set(CMAKE_C_STANDARD 99)
#set(CMAKE_C_COMPILER /usr/local/bin/gcc-7)
#set(CMAKE_C_FLAGS -fopenmp)
#set(CMAKE_C_FLAGS_DEBUG "-D_DEBUG")
set(MAIN main.c)
add_executable(CLionTest ${MAIN})
add_custom_target(CLionTestMake COMMAND make all WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
어떻게 수정합니까?
툴체인 설정 : CMake 실행 파일 : Bundeled CMake 3.8.2 디버거 : 번들 LLDB 3.9.0
을 main.c :
#include <stdio.h>
#include <unistd.h>
#ifdef _OPENMP
#include <omp.h>
#endif
int main() {
printf("Hello, World!\n");
#pragma omp parallel
{
#ifdef _OPENMP
int size = omp_get_num_threads();
int rank = omp_get_thread_num();
#else
int rank = 0;
int size = 1;
#endif
printf("%d/%d\n", rank, size);
};
return 0;
}
고맙습니다. 나는 또한 잊어 버린 "-g"플래그를 추가해야만했다. –
@MagnusWang : 이상하게도, 이론 상으로는 -DCMAKE_BUILD_TYPE = Debug로 컴파일 할 때'-g'가 이미 기본 변수에 포함되어 있어야한다. –