免费注册 查看新帖 |

ChinaUnix.net

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2830 | 回复: 1

[进程管理] pthread_rwlock_destroy 编译问题 [复制链接]

论坛徽章:
0
发表于 2018-05-15 18:27 |显示全部楼层
因为代码中用到  pthread_rwlock_t 锁。
使用的函数包括
pthread_rwlock_rdlock()  // 读锁

pthread_rwlock_wrlock() // 写锁

pthread_rwlock_destroy()  // 释放锁

在交叉编译的时候提示 undefined reference to `pthread_rwlock_destory' 函数未定义

编译错误提示

编译错误提示



后来在虚拟机上写了简单的测试程序,如下:
#include <stdio.h>
#include <pthread.h>
pthread_rwlock_t lock;
void test(void)
{
        pthread_rwlock_rdlock(&lock);
        pthread_rwlock_wrlock(&lock);
        pthread_rwlock_destory(&lock);
        return;
}
void main()
{
        printf("pthread test \r\n";
        return ;
}
编译命令:gcc -o thread test.c -lpthread 结果还是 destroy_rwlock未定义。

/tmp/ccf3Br4N.o: In function `test':
test.c.text+0x23): undefined reference to `pthread_rwlock_destory'
collect2: error: ld returned 1 exit status

很奇怪的错误。大家有遇到过类似的问题吗,还请有经验的大牛指点一下



论坛徽章:
0
发表于 2018-05-15 18:45 |显示全部楼层
问题解决了,是自己代码写错了。
我的代码是:pthread_rwlock_destory
编译提示是:pthread_rwlock_destory
头文件中的定义: pthread_rwlock_destroy

之前网上搜到类似的错误都是关于宏定义的,也就没想到自己代码写错。
刚才找到别人写的一个测试用例,想了别人可以自己的为什么不行,拿过来编译一次就过。自己的就是不行。
一行一行对比之后发现自己单词写错了,destroy 写错destory.
这下丢大了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

数据风云,十年变迁
DTCC 第十届中国数据库技术大会已启航!

2019年5月8日~5月10日,由IT168旗下ITPUB企业社区平台主办的第十届中国数据库技术大会(DTCC2019),将在北京隆重召开。大会将邀请百余位行业专家,就热点技术话题进行分享,是广大数据领域从业人士的又一次年度盛会和交流平台。与SACC2018类似,本届大会将采用“3+2”模式:3天传统技术演讲+2天深度主题培训。大会不仅提供超100场的主题演讲,还会提供连续2天的深度课程培训,深化数据领域的项目落地实践方案。
DTCC2019,一场值得期待的数据技术盛会,殷切地希望您报名参与!

活动入口>>
  

北京盛拓优讯信息技术有限公司. 版权所有 16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122
中国互联网协会会员  联系我们:huangweiwei@it168.com
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP