ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
来源:互联网 发布:mac lady danger 编辑:程序博客网 时间:2024/06/05 14:30
http://blog.csdn.net/songyachao/article/details/54923585
最近在Ubuntu下编译一个程序,需要使用多线程库pthread,但是编译时总是提示“undefined reference to 'pthread_create'”的错误,如下图所示:
要解决这个问题非常简单 。先说怎么解决。
如果你使用的是gcc编译,或者将编译命令都写到makefile文件中了,例如我的makefile文件为:
那么这时候只要在最后面加上-lpthread就可以了,而且在redhat5中-lpthread可以加在-Wall的后面,但是在Ubuntu下必须加在最后才行。如果你用的是eclipse,并makefile是由eclipse自动生成的,那么你要在eclipse下配置一下。方法是右击eclipse工程文件,选择属性->C/C++Setting->在右侧栏中选择“tool Settings”->GCC linker->在library中做如下设置,然后重新编译就行了。
如果上面的方法还是不起作用,可能是你的系统的动态库有问题。这时候需要配置系统库了。且听我慢慢道来。
一般 Linux 系统把 /lib 和 /usr/lib 两个目录作为默认的库搜索路径,所以使用这两个目录中的库时不需要进行设置搜索路径即可直接使用。对于处于默认库搜索路径之外的库,需要将库的位置添加到 库的搜索路径之中。在系统的lib目录下是有thread共享库文件的。在早期的Ubuntu系统中,lib只要设置/lib和/usr/lib就可以了,但是Ubuntu14中, lib库的分类明显多了,主要是区分32位和64位的库。在/etc/ld.so.conf.d下可以看到几个与共享库有关的配置文件。例如i686-linux-gnu.conf文件的内容为:
其中i386和i686都是32位系统的,而x86_64是64位系统的。打开x86_64-linux-gnu.conf可以看到里面的内容为:很明显,这里是将32位和64位系统的文件进行了区分。如果在eclipse下编译遇到找上面的问题,就需要手动指定路径了。为了解决undefined reference to “pthread_create“的问题,一般有三种方法:
第一种:检查共享库配置文件.检查/etc/ld.so.conf.d下对应的文件是否将共享库的路径加入进来,如果没有就加上。 还要使用 /sbin/ldconfig命令来更新一下/etc/ld.so.cache 文件。
echo $LD_LIBRARY_PATH
- ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
- ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
- ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
- ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
- Linux下undefined reference to 'pthread_create'解决方法
- Ubuntu下使用Eclipse编译pthread程序错误undefined reference to `pthread_create'
- qt下添加pthread 解决undefined reference to `pthread_create'
- undefined reference to 'pthread_create'的解决方法
- undefined reference to `pthread_create'解决方法
- undefined reference to 'pthread_create'解决方法
- undefined reference to 'pthread_create'解决方法
- ubuntu 12.04 codeblocks undefined reference to ‘pthread_create'解决方法
- ubuntu下ros c++添加第三方依赖库(一开始报错 undefined reference to symbol 'pthread_create@@GLIBC_2.2.5)
- gcc编译出现undefined reference to 'pthread_create'的解决方法
- undefined reference to `pthread_create'错误通过makefie的解决方法
- Ubuntu环境下CodeBlock报错“undefined reference”的解决方法
- Linux下clang/gcc使用pthread.h编译出错undefined reference to `pthread_create'
- 解决Netbeans 下 undefined reference to `pthread_create'
- java 事务
- 使用ContentObserver观察屏幕旋转
- <string> 与<string.h>、<cstring>的区别
- SpringMVC 中,当前台传入多个参数时,可将参数封装成一个bean类
- 8.线性可分支持向量机(SVM)
- ubuntu 下没有pthread库以及报undefined reference to 'pthread_create'的解决方法
- EXP-00008: 遇到 ORACLE 错误 904
- Servlet笔记——(2.4.3)JavaWeb 4大域对象与初始化参数
- Ruby学习笔记(16)_面对对象
- 上海华测2017C&C++笔试题(B卷)
- CentOS7防火墙操作命令大全
- Session Storage(本地缓存) -- 飞机票项目
- genymotion unable to start the virtual
- angular js 添加 排序 查询