linux 线程操作问题undefined reference to 'pthread_create'的解决办法(cmake)

时间:2021-06-23 06:12:40

问题原因:

pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a.

所以在使用pthread_create()创建线程时,需要链接该库。

1. 终端:问题解决:
在编译中要加 -pthread参数

 gcc thread.c -o thread -pthread

2. qt的cmake配置: 可以修改CMakeLists.txt:

Here is the right answer:

ADD_EXECUTABLE(your_executable ${source_files})

TARGET_LINK_LIBRARIES( your_executable
pthread
)

equivalent to

-pthread