C 让OpenMP在代码::块中运行

C 让OpenMP在代码::块中运行,c,openmp,codeblocks,C,Openmp,Codeblocks,我试图自学使用Windows 7的OpenMP,但我很难获得代码::块来编译基本的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()); } #包括 #包括

我试图自学使用Windows 7的OpenMP,但我很难获得代码::块来编译基本的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());
}
#包括
#包括
int main()
{
#pragma-omp并行
printf(“Hello from thread%d,nthreads%d\n”,omp_get_thread_num(),omp_get_num_threads());
}
我已经取得了一些进展,但还有一个持续的错误,我无法摆脱

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

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

我在“编译器->工具链可执行->其他路径”中有C:\Program File(x86)\Codeblocks\MinGW\gcc\mingw32\bin

编译时,出现错误:“ld.exe:找不到-lpthread”

有人能告诉我我可能设置了什么错误吗


谢谢

链接器抱怨缺少库。pthreads是实现线程接口的库,OpenMP实现使用该接口执行所有线程操作

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

干杯,
-michael

看来pthreads是一个unix库,不适用于windows。我会看看是否能找到它的包装器,或者别的什么。pthread库应该是MinGW发行版的一部分。请查看安装MinGW的存储库。