Code :: Blocks,ld.exe错误"找不到-lgomp"

时间:2015-12-11 15:55:17

标签: gcc openmp codeblocks ld

我试图学习如何使用openMP,但在使用Code :: Blocks时我一直遇到错误。

我按照建议安装了MinGW版本,并将编译器设置如下。

设置 - >编译器 - >编译器设置 - >其他选项,添加了-fopenmp。

然后在链接器设置中 - >其他链接器选项添加了-lgomp。

在尝试构建程序时,我收到消息

  

ld.exe ||找不到-lgomp |

     

ld.exe ||找不到-lgomp |   || ===构建失败:2个错误,0个警告(0分钟,0秒(秒))=== |

我正在使用GNU GCC编译器,我尝试运行的程序如下。

#include <omp.h>
#include <stdio.h>
#include <stdlib.h>

int main (int argc, char *argv[]) 
{
int nthreads, tid;

#pragma omp parallel private(nthreads, tid)
  {

  tid = omp_get_thread_num();
  printf("Hello World from thread = %d\n", tid);

  if (tid == 0) 
    {
    nthreads = omp_get_num_threads();
    printf("Number of threads = %d\n", nthreads);
    }

  }

}

我尝试了许多在线发布的解决方案,但似乎没有任何效果。我究竟做错了什么? 提前谢谢。

1 个答案:

答案 0 :(得分:3)

我不确定MinGW,但至少对于常规GCC,只要你使用-fopenmp,它就会自动将-lgomp包含在链接标志中。所以,尝试不添加-lgomp。如果这不起作用,另一种方法是添加-L path ,其中 path 是libgomp库的位置(通常在编译器本身的库中)。