c++ - gcc -lpthread 不工作

标签 c++ c multithreading gcc operating-system

我的系统中安装了 ubuntu 11。我有一个使用 pthread 库的 c 程序。 我收到错误 Undefined reference to sem_wait() 即使我使用标志 -lpthread 编译。

例如:

gcc -lpthread prog.c

该程序在其他 ubuntu 安装上运行良好。

最佳答案

尝试:

gcc -pthread

而不是 -lpthread。我相信,差异是显着的。后者链接到 libpthread,前者链接到 libpthread 和其他一些东西!

sem_wait 是 librt 的一部分,因此您也可以使用 gcc -lrt,但是 -pthread 会为您完成此操作(并且其他一切也一样!)。

关于c++ - gcc -lpthread 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8264701/

相关文章:

c - 如何在C中用指针交错两个字符

c - 这个旨在使用 Windows CryptoAPI 使用 AES 256 位 key 进行解密的简单代码有什么问题?

c - valgrind 是否通过驱动程序跟踪内存初始化?

java - 特定线程数

c - 在 openmp 中按动态调度顺序执行 for 循环迭代

c++ ofstream指针无法写入磁盘

c++ - 定时器、线程和编译器的错误行为

c++ - 将多维数组传递给接受 char*[] 的函数

c++ - 替换加密不返回字符

java - 使用java运行风扇