在Linux系统下编译link时出现了错误 , 提示“undefined reference’dlclose@xxx函数”错误 , 相信不少用户也遇到这个问题 , 这个问题不难解决 , 下面小编给大家介绍下undefined reference错误的解决方法 。
【Linux编译link时提示undefined reference’dlclose’怎么办?】
编译完link的时候 , 报了一句undefined reference’dlclose@xxx函数‘ , 找主程过来看了下 , 说是dl库没有包进去 , 查了下dl库是用来做动态库加载的(dynamic load) , 项目用到了libmysqld.so , 加了之后还是有问题 , 将-ldl链接选项改到最后才可以 。
比较常见的undefined reference问题:
1.dl库
undefined reference to ‘dlerror’
undefined reference to ‘dlopen’
undefined reference to ‘dlerror’
增加-ldl链接选项 (-l是链接选项的前缀)
2.pthread库
undefined reference to ‘pthread_create’
undefined reference to ‘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出错的解决方法介绍了 , 本文除了介绍link出错外 , 还总结了一些undefined reference问题 , 希望对你有所帮助 。
推荐阅读
- Linux使用FDisk工具的技巧
- Linux如何查看最后重启时间
- Linux使用hadoop dfs命令的方法
- linux如何使用umount命令强制卸载文件系统
- Linux系统如何禁用IPv6
- Linux通过命令行压缩JPEG图片的技巧
- Linux如何分辨电脑是否有USB 3.0接口
- Linux系统如何重新挂载var分区
- Linux通过lsof命令恢复误删文件的步骤
- linux检测及防止DDOS攻击的技巧