【问题标题】:dumpbin equivalent in QtQt中的dumpbin等价物
【发布时间】:2010-05-27 20:14:11
【问题描述】:

在 Qt 中是否有任何类似于 dumpbin(Visual Studio) 的实用程序允许我检查在 Qt-Creator 编译的 dll 中公开的函数?

我需要知道给定 dll 中公开了哪些方法,以便我可以在运行时使用 QLibrary 动态加载该方法。

谢谢, 德科斯托​​p>

【问题讨论】:

  • “Qt-Creator 编译”是什么意思? Qt-Creator 不是编译器。大概还在用CL.EXE吧?
  • @Troubadour:我正在使用 mingw 包装的 g++ 作为编译器。我的意思是 QtCreator 附带的默认编译器
  • @de costo:QtCreator 不附带编译器。
  • @Troubadour:我很确定他的意思是SDK,包括g++等

标签: qt dll qt4 qt-creator


【解决方案1】:

您可以使用Dependency Walker。对于任何可执行文件,无论是动态库还是应用程序,它都是一个非常有用的工具。

此外,没有什么可以阻止您在 Qt Creator 中使用 VC++ 进行编译(Qt Creator 支持 GCC 和 VC++ 作为编译器,也许更多)并使用 dumpbin。

【讨论】:

  • 你能链接到“依赖资源管理器”吗?我猜你的意思是 Dependency Walker (depends.exe)?
  • VC++ 指的是 IDE。编译器名为 cl.exe
  • @Kaleb,哦,对了,已修复! @shoosh,cl.exe 确实是指 Visual C++ 附带的 Microsoft C++ 编译器的一种不好的方式(我知道他们有两个 - 在 Visual C++ 上,也单独分发,一个在驱动程序开发工具包中 - 两者都有相同的可执行文件,但产生的代码略有不同)。
【解决方案2】:
  • 在 Linux 和 Mac 上,使用 nm
  • 在 Windows 上,您可以通过 Cygwin 使用 nm,但我认为 dumpbin 仍然可以使用。 (我刚刚在一个通过 Qt Creator 使用 g++ 编译的项目上进行了尝试,并且成功了。)

【讨论】:

    【解决方案3】:

    要么:

    • 使用现有的 MS Visual Studio 安装及其 dumpbin.exe
    • 安装 Windows SDK(仅限 Win32 开发工具)并使用其 dumpbin.exe
    • 学习使用mingw/GCC(实际上是binutils)nmobjdump

    我发现(即使使用 mingw/gcc)dumpbin.exe 提供了最好的结果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-06-13
      • 2020-09-14
      • 2013-12-19
      • 2013-01-13
      • 1970-01-01
      • 1970-01-01
      • 2019-11-03
      • 1970-01-01
      相关资源
      最近更新 更多