欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

linux下pthread的编译详解

程序员文章站 2022-11-02 09:29:48
今天在linux下写一个多线程程序时,在.c 文件中包含了头文件< pthread.h> ,但是编译时却报错: 对‘pthread_create&rsquo...

今天在linux下写一个多线程程序时,在.c 文件中包含了头文件< pthread.h> ,但是编译时却报错: 对‘pthread_create’未定义的引用

上网查了下,原来pthread库不是linux默认的库,所以在编译时要手动链接,做法如下:

gcc mian.c -lpthread

由于我是在CLion下写的代码,所以要想让CLion支持自动链接pthread库,需要在项目的CMakeLists.txt文件中添加如下语句:

find_package(Threads REQUIRED)

target_link_libraries(执行文件名 Threads::Threads)

其中,target_link_libraries中的第一个参数代表执行文件的名字,在前面应该有一句

add_executable(执行文件名 ${SOURCE_FILES})

只要保证这两个执行文件名是相同的即可。这个名字可以根据自己需要进行定义。