私は C# コードで組み込まれた Dll を持っていますが、必要に応じて C++ コードで使用したいと考えています。
長い検索の後、私は解決策を見つけ、を使用abcd.tlb
してabcd.dll
ファイルから作成しましたRegASM.exe
。
C++ プロジェクトにtlbファイルをインポートしたところ、すべて正常に動作しました。
しかし、同じC#コードからtlbファイルを再度生成し、新しいtlbファイルを古いC++コードにインポートした後、古い C++ コードは関数名の不一致によりコンパイルを停止しました。驚いたことに、関数の 1 つの名前が.tlhファイルでからに変更されました。GetUrl
Geturl
別のマシンで同じコードを使用してtlbファイルを生成したところ、問題なく動作しました。
.tlh生成時に特定のマシンで関数名が変更された理由について、誰かの手がかりはありますか?