【发布时间】:2018-11-09 16:30:56
【问题描述】:
我有一个 .dll 我想静态链接到我的 C++ exe。我创建了一个我认为包含准确函数签名的标头,因此我需要从我的 dll 构建一个 lib 文件。我使用 dumpbin 来获取 dll 中函数的名称,但大多数函数是无名的并且只有序数。那我应该在我的 .def 文件中放什么?
我设法找到了一些从 dll 创建 lib 文件的批处理脚本,但它们只是省略了那些无名函数。
我认为许多人会非常感谢有关 lib、def、obj 文件和链接的深入教程.
我正在使用 Visual C++ Express 2010。
【问题讨论】:
-
与您的问题无关,但为什么您使用的编译器已经有将近十年的历史了?为什么不获取最新版本以便使用现代 C++?
-
@JesperJuhl Bah,没什么!我正在使用即将推出 20 年的 Borland C++Builder 6.0 工作。感谢上帝提供用于工作场所安全的遗留系统。 ;)
-
你说得对,它不相关。我不想冒险就此展开评论讨论。
-
@Someprogrammerdude 我不想要你的工作。幸运的是,我的工作场所使工具保持最新状态,因此我们从 4 月就开始使用 C++17。而且我不会回去。
-
这会有所帮助:docs.microsoft.com/en-us/cpp/build/… 和 docs.microsoft.com/en-us/cpp/build/…。您可以将@X 添加到函数条目,其中 X 是函数的序数值(您可以从 dumpbin 中看到)
标签: c++ dll static-linking