我正在尝试使用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”
有人可以建议我可能设置的错误吗?
谢谢!
答案 0 :(得分:2)
链接器抱怨缺少库。 pthreads是实现线程接口的库,OpenMP实现用它来完成所有线程化工作。
磁盘上的库名为“libpthread.a”(静态版本)和“libpthread.so”(动态版)。尝试在MinGW目录下的文件系统中找到这两个。它们可能位于名为“lib”或“lib64”的目录中。如果缺少任何一个,那么您可能需要安装一个额外的包。
干杯, -Michael