Babel ObfuscatorによるC ++ / CLIの再定義エラー(C2365)
-
14-11-2019 - |
質問
C#で書かれた私のAssebly(カスタムコントロール付きDLL)を難読化したとき。C#とvb.netアプリの両方で動作します。
C ++ / CLIアプリケーションからDLLを使用すると、このようなエラーはビルド中に表示されます。
エラーC2365: 'Componentowl :: BetterSplitButton :: BetterSplitButton :: E':再定義。以前の定義は 'プロパティ' でした
「E」とは、内部列挙型メンバー、プライベートプロパティ名などを指します。
Babel Obfuscatorに重複した名前を生成しないように指示することは可能です(そのようなスイッチが見つかりませんでした)。またはコードから避けられないのですか?
解決
Babel.netサポートは問題を再現し、コマンドラインパラメータを追加することをお勧めします。
--namelength 4
.
だから名前の衝突は可能性が低くなります。
非作動解決策をテストし、難読化アセンブリにメタデータエラーがないことがわかりましたが、C ++ / CLIコンパイラはまだ指定されたタイプに同じ名前の2つ以上の異なるシンボルがあることを示しました。
所属していません StackOverflow