情况描述
在Linux环境中编译实现多线程相关的代码时,编译包含头文件 pthread.h 的代码时可能发生以下报错
undefined reference to sem_wait
undefined reference to sem_post
undefined reference to sem_init
undefined reference to pthread_create
undefined reference to pthread_join
在代码中加入了 #include<pthread.h> 仍旧会报错。
解决方法
1、GCC:添加附加指令 -lpthread
gcc filename.c -lpthread
2、Eclipse:操作方法如下
项目右键 >> propertie s>> C/C++ Build >> Settings >> Tool Settings >>GCC C++ Linker >> Libraries,添加pthread
发表回复