undefined reference to `pthread_create'
时间: 2023-09-04 20:06:44 浏览: 55
这个错误通常出现在使用线程的程序中,因为程序没有正确链接 pthread 库。你需要在编译时加上 -pthread 选项来链接 pthread 库,例如:
```
gcc your_program.c -pthread -o your_program
```
如果你使用的是 CMake,可以在 CMakeLists.txt 中加入以下代码:
```
find_package(Threads REQUIRED)
target_link_libraries(your_target Threads::Threads)
```
相关问题
undefined reference to pthread_create
当出现 "undefined reference to ‘pthread_create’" 的错误时,通常是因为在编译时没有正确链接 pthread 库。在 Linux 系统中,pthread 库不是默认的库,所以需要在编译时手动添加链接选项 -pthread,以确保正确链接该库。
你可以尝试在编译时使用以下命令来解决这个问题:
gcc -o output_file source_file.c -pthread
这个命令中的 -pthread 选项会告诉编译器链接 pthread 库。请确保在编译命令中添加了该选项,并且将 output_file 替换为你的输出文件名,source_file.c 替换为你的源代码文件名。
undefined reference to pthread_create cmake
在CMake中解决undefined reference to `pthread_create`错误的方法是手动添加pthread库。您可以在CMake文件中的CMAKE_CXX_FLAGS变量中添加-pthread选项。以下是一个示例:
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pthread")
这将确保在链接过程中正确地包含pthread库,从而解决undefined reference to `pthread_create`错误。
阅读全文