我有 2 个原生 c++ dll,比如 A 和 B。X 类位于 A.dll 中,Y 类位于 B.dll 中,其接口需要shared_ptr<X>
. 我想在 C# 应用程序中使用此接口实例化 X 并将其交给 Y。
因为这两种类型存在于不同的 dll 中,所以我使用swig -dllimport A -c++ -csharp A.i
, 和swig -dllimport B -c++ -csharp B.i
. 在 Ai 中,我使用%shared_ptr(X)
宏允许我在所有需要的接口中流畅地使用 X 类型的对象shared_ptr<X>
(前提是这些接口在 A.dll 中)。
我的问题是,如果 B.dll 中的 Y 类shared_ptr<X>
在它的接口中使用 a 怎么办?我怎样才能让 Bi 知道shared_ptr<X>
(它存在于 A.dll 中)的第二次痛饮构建?