ubuntu 编译c程序报错:对‘pthread_create’未定义的引用

Posted Dontla

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ubuntu 编译c程序报错:对‘pthread_create’未定义的引用相关的知识,希望对你有一定的参考价值。

在ubuntu里编译c多线程代码,命名包含了头文件<pthread.h>,却还是编译报错,说对‘pthread_create’未定义的引用

原因:

pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a,所以在使用pthread_create创建线程时,在编译中要加-lpthread参数:gcc createThread.c -lpthread -o createThread.

果然,加上-lpthread参数后就编译成功了;同时注意-lpthread要写在源文件后面

参考文章1:对‘pthread_create’未定义的引用

参考文章2:对pthread_create未定义的引用

以上是关于ubuntu 编译c程序报错:对‘pthread_create’未定义的引用的主要内容,如果未能解决你的问题,请参考以下文章

Linux C语言编译报错:error: stray ‘xxx’ in program(代码中用了中文字符)

调用库<semaphore.h>时,VS报错无法解析的外部符号 __imp__pthread_create

调用库<semaphore.h>时,VS报错无法解析的外部符号 __imp__pthread_create

ubuntu下调试ffmpeg程序出现undefined reference to pthread_once ,undefined reference to uncompress错误

如何让 CMake 在 Ubuntu 上识别 pthread?

未定义符号:_ZL22__gthrw_pthread_cancelm 错误