您的位置:首页 > 健康 > 养生 > 电脑云桌面下载_后台管理页面模板_精准客源_seo免费系统

电脑云桌面下载_后台管理页面模板_精准客源_seo免费系统

2025/1/9 3:39:25 来源:https://blog.csdn.net/SimpleForest/article/details/143498615  浏览:    关键词:电脑云桌面下载_后台管理页面模板_精准客源_seo免费系统
电脑云桌面下载_后台管理页面模板_精准客源_seo免费系统

1、原因
日常开发过程中,经常遇到“无法解析的外部符号,在xxx中引用”,或者"Unresolved external symbol Referenced In xxx"。通常原因是引用了外部函数,但找不到对应的函数地址。

2、排查思路
(1) 头文件包含是否正确,在引用的模块里面是否能够找到对应的头文件。

(2) 库文件是否正确,在引用的模块里面是否正确配置库目录,库文件名称是否正确

(3) 函数名称是否正确
a、首先排查被引用的库是否有相应的函数
linux 下可以使用objdump或者nm命令;windows下可以使用dumpbin或者Dependencies

比如:
输入:
$ objdump -CtT libssl.so | grep -a SSL_get_options
查找libssl.so是否导出SSL_get_options函数

输出:
0000000000040020 g     F .text    000000000000000b              SSL_get_options
0000000000040020 g    DF .text    000000000000000b  OPENSSL_1_1_0 SSL_get_options

如果输出为上面所示,表示SSL_get_options有定义;如果输出没有结果或者显示  *UND* 则说明该函数没有定义,需要查看被引用库。

objdump输出格式解析,可以参考 https://blog.csdn.net/SimpleForest/article/details/138373339#:~:text=%E8%BF%99%E7%AF%87%E6%96%87%E7%AB%A0%E8%AF%A6%E7%BB%86%E8%A7%A3%E9%87%8A,%E7%AC%A6%E5%8F%B7%E7%9A%84%E7%9B%B8%E5%85%B3%E4%BF%A1%E6%81%AF%E3%80%82

b、函数名称是否正确
需要确保引用的名称要和库里导出的名称是完全一样的。

以上就是关于该问题的通用解决思路,可以解决95%该类问题,该问题可能有其他表现形式,但原因基本是一致的。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com