您的位置:首页 > Web前端

gcc 编译出现undefined reference to‘pthread_create’的错误

2016-10-12 20:59 501 查看
当发现

gcc -lpthread -o …..

在使用了-lpthread 选项时,还是报告了

undefined reference to‘pthread_create’的错误。

此时应该使用 -pthread 选项。

man gcc | grep pthread 可以找到答案

-pthread 比 -lpthread 多了一个宏定义 -D_REENTRANT

对于多线程程序来说这个宏非常重要,这个宏会让libc和一些其他库,自动选择线程安全的函数实现(很多函数有线程安全和不安全的2种实现版本)

所以建议使用-pthread 或者加上 -D_REENTRANT.

参考资料:

1. gcc中-pthread和-lpthread的区别

http://blog.csdn.net/g446868263/article/details/6857840

2. gcc -lpthread和gcc -pthread的区别

http://blog.chinaunix.net/uid-25909722-id-3026989.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  pthtread
相关文章推荐