用 C++ 编写了 2 个不同的库 (DLL).当我在第三个库中访问两个dll时,出现重新定义错误



我用 c++ 编写了 2 个不同的库(dll(。现在我正在访问第三个库中的两个 dll。

但是在两个dll中都有相同的枚举,具有相同的名称。当我在第三个 dll 中访问两个 dll 时。枚举冲突,错误为"错误 C2365:修订;以前的定义是"枚举器"。

谢谢

如果你的问题是">我该如何解决这个问题?",有几个解决方案:

  1. 首先,可以为作用域枚举使用不同的名称:DLL1 中的 enum class en1 {...} 和 DLL2 中的enum class en2 {...}
  2. 您可以将这些枚举(作用域或无作用域(放在不同的命名空间中,但名称相同:DLL1 中的 namespace ns1 { enum en1 {...} }namespace ns2 { enum en1 {...} }

我相信还有更多的解决方案。

最新更新