使用 -lpthread、G++ 编译器错误"undefined reference to "信号量调用(如"sem_open"
with -lpthread, g++ compiler error, "undefined reference to " semaphore calls such as `sem_open'
我是posix线程库的新手,我尝试使用以下命令编译教程中的示例代码:
g++ -lpthread agreement.cpp -o agreement
但是我无法编译代码并收到以下错误消息:
a3q2.cpp:(.text+0x7e): undefined reference to `sem_open'
a3q2.cpp:(.text+0xab): undefined reference to `sem_wait'
a3q2.cpp:(.text+0x290): undefined reference to `sem_post'
a3q2.cpp:(.text+0x2af): undefined reference to `sem_close'
a3q2.cpp:(.text+0x2bb): undefined reference to `sem_unlink'
collect2: ld returned 1 exit status
make: *** [a3q2_exe] Error 1
我知道编译需要 -lpthread 才能工作,但是我可能需要任何其他选项来解决问题吗? 如果不是,我必须如何安装"正确的"pthread库?
感谢您的帮助!
您希望编译选项-pthread
(如果您确实使用pthreads)。 如果您只需要这些功能,它们librt
请使用-lrt
相关文章:
- 删除旧的信号量系统V
- 父进程和子进程之间的 POSIX 信号量
- 访问共享内存而不使用易失性、std::atomic、信号量、互斥锁和自旋锁
- 多线程.如果我使用信号量,我可以在开始时创建很多线程还是应该只有几个线程?
- C/C++ - 用于按顺序打印数字的 sem_t 类型的单个信号量
- 单车道桥 使用信号量进行同步
- 用于 64 位/32 位 IPC 的 POSIX 信号量的替代方案?
- 这个餐饮哲学家问题(dpp)的解决方案是如何工作的?互斥体和信号量
- 发布信号量返回错误 6(无效句柄)
- 在 C Linux 中使用三个线程使用信号量同步按顺序打印 3 4 5 50 次
- 在使用 pthread 和信号量实现生产者-消费者问题时需要帮助
- 如何让一个线程继续,而另一个线程正在等待C++中的信号量
- 实现信号量
- 计算信号量还是互斥体?
- POSIX 信号量在高争用/负载下不起作用
- C++:提升:托管共享内存是否需要信号量锁
- 信号量的问题
- 使用 -lpthread、G++ 编译器错误"undefined reference to "信号量调用(如"sem_open"
- 可以通过减少多线程中系统调用(互斥/信号量)的开销来真正提高性能::atomic
- perror()调用影响信号量锁定/解锁的问题