在CMakeLists.txt项目中编译包含pthread_create的函数C程序,使用-lpthread连接动态库,编译报错,提示"对pthread_create 未定义的引用”
时间: 2024-01-13 17:19:48 浏览: 96
C++版本使用CMakeLists.txt编译(同目录多个源文件)可执行文件
在CMakeLists.txt项目中编译包含pthread_create的函数C程序,使用-lpthread连接动态库,编译报错,提示"对pthread_create 未定义的引用"的错误。这个错误通常是由于没有正确链接pthread库导致的。
解决这个问题的方法是在CMakeLists.txt文件中添加链接pthread库的语句。具体的方法有两种:
方法一:在CMakeLists.txt中添加link_libraries(pthread)语句。这样可以告诉编译器链接pthread库。
方法二:在CMakeLists.txt中使用target_link_libraries命令链接pthread库。具体的语句为target_link_libraries(xxx_node pthread),其中xxx_node是你的目标可执行文件名。
以下是两种方法的示例:
方法一:
```cmake
link_libraries(pthread)
add_executable(your_executable your_source_files.c)
```
方法二:
```cmake
add_executable(your_executable your_source_files.c)
target_link_libraries(your_executable pthread)
```
请注意,你需要将上述示例中的your_executable替换为你的目标可执行文件名,your_source_files.c替换为你的源代码文件名。
阅读全文