在使用Linux下,使用codeblocks运行多线程程序时,头文件有#include <pthread.h>,还是报以下错误:
undefined reference to 'pthread_create'
1. 原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.so,所以在使用pthread_create()创建线程,需要链接libpthread.so。
2. 解决方法:
1)在编译中要加 -lpthread参数
gcc 文件名.c -lpthread -o 生成文件名
2) 给codeblocks添加链接路径即可
先查找库的路径如下:
即路径为:
/usr/lib/i386-linux-gnu/libpthread.so
在codelocks上加入链接路径,如下: