首页 > 代码库 > linux 线程操作问题undefined reference to 'pthread_create'的解决办法(cmake)

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

问题原因:

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_executablepthread)

 

equivalent to

-pthread

 

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