Linux多线程编程问题:对‘pthread_create’未定义的引用
在Linux下进行多线程程序测试时出现如下问题:对‘pthread_create’未定义的引用 collect2: error: ld returned 1 exit status
·
在Linux下进行多线程程序测试时出现如下问题:
对‘pthread_create’未定义的引用 collect2: error: ld returned 1 exit status
问题原因:linux下调用子线程时会用到pthread库,但pthread库不是Linux系统默认的库,连接时需要使用库libpthread.a
解决方法
1.在编译中要加-lpthread参数:gcc createThread.c -lpthread -o createThread. 加上这个以后编译成功!
2.在CMakeList.txt中设置编译选项set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-pthread")或使项目文件连接到pthread库。
#1.设置编译选项
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}-pthread")
#2.连接到pthread库
target_link_libraries(Porject_name pthread)
修改后编译成功,没有问题。
更多推荐
已为社区贡献1条内容
所有评论(0)