我正在尝试运行一个程序,其源代码是我下载并编译的。当我尝试运行该程序时,我不断收到消息:
unable to load undefined symbol _z15InvalidateImageSs
我正在尝试确定为什么会出现此错误。该程序实际上是一个由另一个程序加载的库。我的程序编译为 .so 文件。
我跑:
$ nm myprog.so > nm.txt
该符号显示在文件中,但没有与其关联的地址。
- 我使用以下命令在源树中搜索该符号:
$ find . -type f | xargs fgrep -I '_zinvalidateimagess' | grep -v 'Binary
我没有结果。 2.我在所有标准加载库中搜索了该符号:
$ scanelf -l -s _zInvalidateImageSs | grep -I '_zinvalidateImageSs'
又没有结果。
所以我的问题是:如果该符号从未在源树中的任何位置被引用,为什么它在 .so 文件中出现问题?我如何找出这个符号应该来自哪里?