2014-01-25 123 views
0
#include <omp.h> 
#include <iostream> 

int main() 
{ 
    #pragma omp parallel 
    std::cout << "Hello from thread " 
      << omp_get_thread_num() << ", " 
      << "nthreads " 
      << omp_get_num_threads() 
      << std::endl; 

    return 0; 
} 

我包括omp.h,但仍表示:C++错误未定义的引用

  • 未定义参考`omp_get_num_threads'
  • 未定义参考`omp_get_thread_num”

我用克++ 4.71,为什么仍然无法链接它?

+0

我应该更具体而言,我使用的代码块作为IDE – user3235530

+0

可能重复的[这是一个未定义的参考/解析的外部符号错误和我如何解决它?](http://stackoverflow.com/questions/12573816/what-is-an-undefined-reference-unresolved-external-symbol-error-and-how-doi-i-fix) – PlasmaHH

+0

这是关于并行执行,有点不同,我不认为这是重复的 – user3235530

回答

2

添加-fopenmp编译器参数,这里是如何使用它对于g ++:

g++-4.8 -std=c++11 -O2 -Wall -pedantic -fopenmp -pthread main.cpp && ./a.out 
+0

我该怎么做代码块? – user3235530

+0

抱歉,我不知道,从来没有使用过代码块 – marcinj

+0

@ user3235530如果我没有记错的话,那么你需要右键单击'项目管理器'中的'项目图标',然后在弹出的窗口中,在'其他在编译器设置选项选项卡中,你可以输入你需要的附加命令行选项 – jcxz