undefined reference to symbol ‘sem_close@@GLIBC_2.2.5‘

1:sem_close 为信号量相关操作;
2:需要依赖 libpthread和librt 库;
3:所以编译的时候,需要增加 -lpthread -lrt 编译选项;
4:增加了依赖库之后,还要注意库的先后关系;先后关系不一致,也可能导致报错;

# 正确示例
gcc -o test test.c -lpthread  -lrt

# 报错示例
gcc -o test test.c -lrt -lpthread