cmake 遇见 undefined reference to symbol pthread_create@@
时间: 2023-07-27 14:12:36 浏览: 149
这个错误通常是因为缺少 pthread 库的链接导致的。可以在 CMakeLists.txt 文件中添加以下语句来链接 pthread 库:
```
find_package(Threads REQUIRED)
target_link_libraries(your_target_name Threads::Threads)
```
其中,your_target_name 是你的目标文件名。这样就可以正确链接 pthread 库了。
相关问题
undefined reference to `pthread_create'
这个错误通常是由于缺少对 pthread 库的链接导致的。在编译时,需要添加 -pthread 参数来链接 pthread 库。具体操作取决于你使用的编译器和构建工具。
对于 GCC 编译器,可以在编译命令中添加 -pthread 参数,例如:
```
gcc your_file.c -pthread
```
对于 CMake 构建工具,可以在 CMakeLists.txt 文件中使用 target_link_libraries 命令来链接 pthread 库,例如:
```
target_link_libraries(your_target_name pthread)
```
如果你使用的是其他编译器或构建工具,请参考对应工具的文档以了解如何链接 pthread 库。
/usr/bin/ld: /tmp/ccrJrcvk.o: in function `main': main.c:(.text+0x1ae): undefined reference to `pthread_create' /usr/bin/ld: main.c:(.text+0x1bf): undefined reference to `pthread_join'
这个错误通常是因为在编译时没有链接 pthread 库导致的。可以尝试在编译时加上 -pthread 参数,例如:
gcc -pthread main.c -o main
如果使用的是 CMake,则可以在 CMakeLists.txt 中添加以下行:
find_package(Threads)
target_link_libraries(target_name Threads::Threads)
这将自动链接 pthread 库。
阅读全文