如下一段linux pthread线程程序为什么编译的时候就是无法连接pthread线程库?
#include <stdio.h>
#include <stdlib.h>
#include <unistd.h>
#include <pthread.h>
int counter=0; /*两个线程都能访问的共享变量 */
void  thread1(void *arg);
void  thread2(void *arg);
int  main(int argc, char *argv[])
{
	pthread_t id1,id2;
	/*创建第1个线程*/
	pthread_create(&id1,NULL,(void *)thread1, NULL);
	/*创建第2个线程*/
pthread_create(&id2,NULL,(void *)thread2, NULL); 
pthread_join(id1,NULL); /*等待第1个线程结束*/
pthread_join(id2,NULL); /*等待第2个线程结束*/
  /*打印counter最后的值*/
 printf("最后的counter值为%d\n",counter);
	exit(0);
}
void  thread1(void *arg) /*第1个线程执行代码*/
{
	int i,val;
	for(i=1;i<=5;i++){
		val=++counter;
		
printf("第1个线程:第%d次循环,第1次引用counter=%d\n",i,counter);  /*LINE A*/
		sleep(3);   /*睡眠或挂起3秒钟*/
printf("第1个线程:第%d次循环,第2次引用counter=%d\n",i,counter);  /*LINE B*/
counter=val;
		}
}
void thread2(void *arg) /*第2个线程执行代码*/
{
	int i,val;
	for(i=1;i<=5;i++){
		val=++counter; 
sleep(1);  /*睡眠或挂起1秒钟*/
printf("第2个线程:第%d次循环,counter=%d\n",i,counter);
     counter=val;  
		}
}
网上都说是编译的时候没有加上 -lpthread选项,可是我加上了还是说undefined function “pthread_create”,"pthread_join".这是典型的没有加-lpthread的错误提示啊,为啥呀?难道是我的linux系统里面没有装pthread线程库?听说那个动态库叫pthread.so?我用find找了下是找不到。是这个原因吗?如果是的话这个线程库去哪下载?怎么安装呀?
              
------解决方案--------------------试试
gcc main.c -L /usr/lib -lphtread
//or
gcc main.c -L /usr/lib64 -lphtread