【发布时间】:2017-11-14 20:13:17
【问题描述】:
我正在尝试配置 CLion,以便我可以使用 openMP。在我的 Mac 上使用默认设置时,编译器会发出叮当声。默认 Apple clang 不支持 openMP。
当我将编译器更改为 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 可执行文件:捆绑的 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;
}
【问题讨论】:
标签: c debugging gcc clang clion