linux下pthread的编译详解,linuxpthread详解


今天在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})

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

相关内容