对"omp_get_max_threads_"的未定义引用

Imp*_*ian 37 gcc openmp gfortran

我在尝试编译项目时遇到以下错误:( fortran,使用gfortran)

未定义的引用`omp_get_max_threads_'

未定义的引用`omp_get_thread_num_'

问题是,我的GCC版本是4.4.3,这是为了支持OpenMP.

Jon*_*rsi 68

使用gcc,您需要编译和链接-fopenmp以启用OpenMP.其他编译器有不同的选择; 与英特尔一起-openmp,与pgi一起-mp,等等.

  • 较新版本的英特尔编译器已弃用该选项而支持`-qopenmp`. (2认同)
  • CLion使用CMake,将其添加到配置文件中对我有用:set(CMAKE_C_FLAGS“ $ {CMAKE_C_FLAGS} -fopenmp”)仅是C设置,C ++需要CMAKE_CXX_FLAGS。 (2认同)

小智 15

代码需要编译-fopenmp.