如何在Visual Studio中查找静态c/c ++库中的哪些函数

oma*_*tai 6 c c++ static-libraries visual-studio

我有一个应用程序和一个静态库.这个图书馆看来是建立就好了-这当然编译我foobargeewhizz功能就好了,没有任何错误或警告创建静态库.

然而,当应用程序构建和链接到静态库,它管理的链接功能,foobar却找不到功能geewhizz.如何判断geewhizz它是否已进入库中?我看不到/map像构建应用程序那样的库的任何选项.\map在构建应用程序时使用该选项毫无意义,因为它无法找到我的geewhizz功能,也无法报告它.

我正在使用C和C++的混合,我怀疑可能存在函数名称修改/翻译问题,或者调用约定问题,导致问题,所以我认为有一个库中包含的函数列表应该能够照亮它.但如果对解决这些问题有任何更一般的建议,我会很高兴听到它.

oma*_*tai 6

感谢@indiv和@WhozCraig提供的有用评论,至少有以下两个选项:

  • 使用/LISTVisual Studio的链接器程序中的选项(lib.exe)
  • 将该dumpbin实用程序与/linkermember选项一起使用

Visual Studio对于使/LIST选项易于使用并不是很有帮助.您必须在命令行上将其指定为附加选项,但如何做到这一点并不清楚./LIST它自己生成标准输出的列表,但是既没有指定文件也没有使用>重定向操作符以任何明显的方式工作.事实上,我已经放弃了尝试解决如何使这个选项工作的问题.

值得庆幸的dumpbin是,Visual Studio附带了一个实用程序(甚至是Express版本),这里有很好的文档.所以,除非有人让/LIST普通人远程使用,否则请使用dumpbin.