2

在 C++ 中是否有可能包含彼此的 2 个 DLL,因为它们每个都使用彼此的类(嗯,这是我的计划),这可能吗?

4

1 回答 1

4

是的,这是可能的。只有您需要将这些 dll 编译为多步骤过程。要链接 dll,您需要来自其他 dll 的 lib 文件。这意味着您需要:

  1. 创建 DLL1 的存根实现。这将为 DLL1 生成一个 .lib 文件。
  2. 将 DLL2 与存根 .lib pf DLL1 链接。
  3. 将 DLL1 与 DLL2 的真实 .lib 链接。
  4. 将 DLL2 与 DLL1 的真实库重新链接。

另请注意,DLL 通常具有 C 接口。您可以导出类,但准备好为使用的每个版本的编译器设置一组 dll。

于 2012-11-13T21:27:42.053 回答