无法使用 openmp 进行编译
Cannot compile with openmp
omp.cpp
#include <iostream>
#include <omp.h>
int main() {
std::cout << "Start" << std::endl;
#pragma omp parallel
{
std::cout << "Hello ";
std::cout << "World! " << std::endl;
}
std::cout << "End" << std::endl;
}
我试图用g++ omp.cpp -fopenmp
编译上面的代码,但我得到错误:
c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot find -lpthread
collect2.exe: error: ld returned 1 exit status
我尝试在谷歌上搜索 -lpthread 是什么,但我找不到任何东西。我发现的最接近的事情是另一个线程,其中有人像这样编译他/她的代码:g++ omp.cpp -fopenmp -lpthread
......但结果对我来说是一样的。
我错过了什么吗?提前非常感谢。
pthread
是POSIX线程库。
-lpthread
是一个链接器参数,这意味着您正在尝试将二进制文件与pthread
链接。
该错误意味着此库在您的操作系统上不可用。
看起来您正在Windows上使用mingw
。
毫不奇怪,pthread
在Windows上不可用,因为它是一个POSIX库。
但是您可能会在MinGW网站上找到一些方法:http://www.mingw.org/wiki/pthreads_library
看起来您必须安装一个名为 pthreads-win32
的第三方库:
https://sourceware.org/pthreads-win32/
相关文章:
- 二叉排序树无法编译
- 编译时未启用intel oneApi CUDA支持
- 在VS代码中交叉编译Windows与Linux上的MinGW的SDL程序
- 如何使用 openmp 编译 c++?(在 Windows 10 中使用 G++)
- 所有的openMp c++编程都是使用在GPU上运行的-fopenmp编译的吗
- 在windows上使用cmake编译FFTW(OpenMP)
- 如何在macOS上的Qt中使用OpenMP进行编译?
- libcoi_device.so.0 未找到英特尔 19.0.4 OpenMP 5.0 卸载编译错误
- OpenCV 致命错误,同时编译带有 openmp 和 opencv 库的 cpp 文件
- 在Mac OS X Mojave上使用AppleClang编译和链接OpenMP
- 多线程MKL OpenMP用GCC编译
- 如何使用“ OpenMP”来编译此简单的C 代码
- Sig 11在使用-icpc v12使用-static和-openmp编译时使用boost序列化
- 如何使用OpenMP编译OpenCV
- 在OS X Yosemite上使用gcc编译器编译OpenMP程序
- 无法使用 openmp 进行编译
- 当杂注内部有编译指示时,OpenMP 中会发生什么?
- OpenMP:编译指示取消 ON NUMA
- 在Visual Studio 2010中为从C文件编译的mex文件添加OpenMP支持
- 使用g++编译OpenMP时出现未知杂注