北京SEO

整理linux编译link出undefined reference’dlclose’错误解决办法

2019/10/10/17:46:17  阅读:1723  来源:谷歌SEO算法  标签: DNS

最近因为换工作又开始搞Linux服务器了,现在编译link的时候,出现“undefined reference’dlclose@xxx函数’”错误,现在我把解决这个错误的方法整理如下.

对于linux我持中立态度,而且我认为linux这么多年发展比较慢的原因是因为桌面化做的不好或者不够好,所以我比较偏爱ubuntu.

由于以前项目是makefile的,我个人不是很喜欢makefile,因为他看起来比较费劲,而且编译完成后出现问题调试是个大难题,不是每个人都精通gdb,而且vi上手比较难,所以将工程转为codeblocks的cbp,本来想使用cmake的,但是觉得要写的比较多,于是作罢,毕竟代码不是跨平台的,windows下没法用.

编译完link的时候,报了一句undefined reference’dlclose@xxx函数‘,不知道什么问题了,找主程过来看了下,说是dl库没有包进去,查了下dl库是用来做动态库加载的(dynamic load),项目用到了libmysqld.so,加了之后还是有问题,将-ldl链接选项改到最后才可以.

总结了下这些比较常见的undefined reference问题:

1.dl库

  1. undefinedreferenceto‘dlerror’
  2. undefinedreferenceto‘dlopen’
  3. undefinedreferenceto‘dlerror’

增加-ldl链接选项 (-l是链接选项的前缀)

2.pthread库

  1. undefinedreferenceto‘pthread_create’
  2. --phpfensi.com
  3. undefinedreferenceto‘pthread_xxxx‘

增加-lpthread链接选项

3.rt库

undefined reference to `clock_gettime’

增加-lrt链接选项

如果是使用codeblocks,可以再link option里加,不过因为依赖顺序的问题,如果link option里加了还是报错,直接在link file里添加pthread dl rt等即可.

如果是你自己的库出现这undefined reference什么函数,先去查下库的源代码,看看具体问题.

广告内容

整理linux编译link出undefined reference’dlclose’错误解决办法 整理linux编译link出undefined reference’dlclose’错误解决办法 整理linux编译link出undefined reference’dlclose’错误解决办法

相关阅读

热门评论

小明SEO博客 小明SEO博客

小明SEO博客,新时代SEO博客

总篇数171

精选文章

RMAN中catalog和nocatalog区别介绍 小技巧:为Linux下的文件分配多个权限 zimbra8.5.1安装第三方签名ssl证书的步骤 解决mysql不能远程连接数据库方法 windows服务器mysql增量备份批处理数据库 mysql中slow query log慢日志查询分析 JavaScript跨域问题总结 Linux下负载均衡软件LVS配置(VS/DR)教程 mysql中权限参数说明 MYSQL(错误1053)无法正常启动

SEO最新算法