cmake编译缺失pthread_create等thread库解决方案

原文地址:https://justchen.com/2017/02/27/cmake%E7%BC%96%E8%AF%91%E7%BC%BA%E5%A4%B1pthread_create%E7%AD%89thread%E5%BA%93%E8%A7%A3%E5%86%B3%E6%96%B9%E6%A1%88.html

在使用cmake来编译项目时,明明在CMAKE_CXX_FLAGS项中设置了-lpthread项目,在运行生成makefile时确实也看到了有-lpthread,但还是报错:对‘pthread_create’未定义的引用,简直是日了狗了…
后来google到了答案,如果是cmake项目需要修改Cmakefile.txt,增加以下内容

find_package(Threads)
target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})

果然,加上后就解决问题了,makefile,只是把-lpthread移到了最后,如果只是动CMAKE_CXX_FLAGS项-lpthread是紧根着g++后,也许这样不起作用….

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容