cmake 遇见 undefined reference to symbol pthread_create@@
时间: 2023-07-27 20:12:36 浏览: 170
这个错误通常是因为缺少 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 your_program.c -pthread -o your_program
```
如果你使用的是 CMake,可以在 CMakeLists.txt 中加入以下代码:
```
find_package(Threads REQUIRED)
target_link_libraries(your_target Threads::Threads)
```
/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 库。
阅读全文