问题描述:
头文件引入pthread.h后,调用pthread_create函数创建线程。程序编译时出现“对pthread_create未定义的引用”。代码编译方式为:编写CMakefiles.txt,利用cmake工具进行编译。
问题分析:
由于pthread库不是Linux系统默认的库,因此在CMakefiles.txt中需要手动连接pthread库。
解决办法:
CMakefiles.txt中添加:include_directories("/usr/lib/x86_64-linux-gnu")
target_link_libraries(${PROJECT_NAME} libpthread.so)
"/usr/lib/x86_64-linux-gnu"是libpthread.so所在路径,请注意检查本机libpthread.so是否在该路径下。编写的CMakefiles.txt如图所示,比较简单。