Cmake编译pthreads报错:undefined reference to pthread_create

Aster
新星创作者: 人工智能技术领域
2022-10-07 15:14:21

当使用Cmake编译多线程程序时,需要手动添加pthread库,如果手动添加,就会报错:

    undefined reference to `pthread_create'

出现这个问题的原因是在链接阶段,函数对应的库文件搜索不到,找不到这个函数的具体实现。

解决方式就是在Cmake文件中添加对应的库。

这里需要指定的是Threads库,参考代码

    cmake_minimum_required(VERSION 3.16)
    project(ThreeWay_MulthThreadDemo)
    find_package(Threads)
    set(CMAKE_CXX_STANDARD 14)

    add_executable(ThreeWay_MulthThreadDemo Multithread-Demo.cpp)
    target_link_libraries(ThreeWay_MulthThreadDemo ${CMAKE_THREAD_LIBS_INIT})

 

...全文
580 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

66

社区成员

发帖
与我相关
我的任务
社区描述
基于NVIDIA的DeepStream SDK开发技术交流社区。通过DeepStream可从USB/CSI/RTSP相机中获取流数据,用于快速构建具有AI能力的应用程序。
自动驾驶pytorch边缘计算 个人社区 陕西省·西安市
社区管理员
  • 鼾声鼾语
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧