让OpenMP在Code :: Blocks中运行

时间:2013-11-27 19:35:03

标签: c openmp codeblocks

我正在尝试使用Windows 7自学OpenMP,但是我很难让Code :: Blocks编译一个基本的hello world程序:

#include <omp.h>
#include <stdio.h>
int main() 
{
    #pragma omp parallel
    printf("Hello from thread %d, nthreads %d\n", omp_get_thread_num(), omp_get_num_threads());
}

我取得了一些进展,但还有一个我无法摆脱的持续性错误。

我的编译器中有-fopenmp“编译器 - &gt;编译器设置 - &gt;其他选项”

我在“编译器 - &gt;链接器设置 - &gt;其他链接器选项”中有-gomp和-pthreads“

我在“Compiler-&gt; Toolchain exectuable-&gt; Additional Paths”中有C:\ Program File(x86)\ Codeblocks \ MinGW \ gcc \ mingw32 \ bin

当我编译时,我收到错误:“ld.exe:找不到-lpthread”

有人可以建议我可能设置的错误吗?

谢谢!

1 个答案:

答案 0 :(得分:2)

链接器抱怨缺少库。 pthreads是实现线程接口的库,OpenMP实现用它来完成所有线程化工作。

磁盘上的库名为“libpthread.a”(静态版本)和“libpthread.so”(动态版)。尝试在MinGW目录下的文件系统中找到这两个。它们可能位于名为“lib”或“lib64”的目录中。如果缺少任何一个,那么您可能需要安装一个额外的包。

干杯,         -Michael