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})
只要保证这两个执行文件名是相同的即可。这个名字可以根据自己需要进行定义。