编译报错:
test.h:70: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘pthread_rwlock_t’
经查看是因为 在test:70 找不到 pthread_rwlock_t的定义所致,但是代码中明明包含pthread.h头文件了
去glibc中看结构的定义源码,发现pthread_rwlock_t的定义依赖于这个宏 _POSIX_C_SOURCE 的版本值
_POSIX_C_SOURCE 如果不指定,在glibc中默认是 #define _POSIX_C_SOURCE 200809L
而我们的编译环境中定义了 _POSIX_C_SOURCE=199309L,在 _POSIX_C_SOURCE=199309L 的宏控制情况下,pthread_rwlock_t没有定义
阅读(1595) | 评论(0) | 转发(0) |