首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >寻找符号依赖的起源

寻找符号依赖的起源
EN

Stack Overflow用户
提问于 2014-04-22 13:13:29
回答 1查看 378关注 0票数 3

我正在做一个相当大的项目,它有大量的外部依赖。我在开发期间从事调试构建工作已经有一段时间了。现在,当我尝试构建发行版(在很长一段时间之后)时,我得到一个错误,说找不到特定的符号。在我的例子中,链接器给我一个错误,告诉我找不到start_thread_noexcept符号。这个符号预计会在boost-thread中找到,但当我使用nm -G -D --demangle检查boost-thread的版本时,我发现确实没有找到这个符号(我确实找到了一个名为start_thread的符号)。显然,可以在较新版本的库中找到noexcept符号。

然而,我的问题更一般。我现在要做的,是找到这个符号要求的起源。我猜一定有一些新的函数调用,这反过来又调用了start_thread_noexcept函数。显然,在编译我的代码时必须生成一个.o文件,我可以将此需求追溯到该文件。或者,我已经添加了一些新的第三方依赖项,这反过来需要新版本的boost-thread库。我怎样才能找到需要这个未定义符号的代码/库?

EN

回答 1

Stack Overflow用户

发布于 2015-03-19 16:42:17

我去中间目录做了

代码语言:javascript
复制
for x in *.o; do echo $x; nm $x | grep "_ZN5boostlsIcSt11"; done

这使我能够跟踪编译单元,这反过来又允许我(手动)找到有问题的代码段。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23210898

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档