undefined reference to 'pthread_create'
undefined reference to 'pthread_join'
问题原因:pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程,以及调用 pthread_atfork()函数建立fork处理程序时,需要链接该库。
问题解决:在编译中要加 -lpthread参数
gcc thread.c -o thread -lpthread
thread.c为你些的源文件,不要忘了加上头文件#include
那么如何在Anjuta里添加这个参数呢?
在Variables选项卡里面添加一个变量 LDFLAGS 并把值设为-lpthread。
gudansinian 于 2008-10-22 19:45:27发表:
我在anjuta下也出现了类似的问题,但是我thread_写到这时,系统提示我又thread_ceate()
函数,还有thread_join等函数,我这样写了,后编译的时候,出错,说没有
定义
我用和你一样的线程,#include
后编译没有问题,但是运行的时候不见,反应,几秒钟后,整个窗口发黑。只有强制推出
你说的最后一句话没有明白:
"在Variables选项卡里面添加一个变量 LDFLAGS 并把值设为-lpthread。"
Variables选项卡在哪里?如何添加LDFLAGS变量