SWIG - 包装到C#时没有std :: list的默认typemap,我该怎么办?

时间:2017-04-25 09:52:17

标签: c# c++ swig typemaps

我目前正致力于使用SWIG将大型C ++库包装到C#。我面临一个大问题,因为我的库使用了大量的 std :: list ,而且似乎SWIG(我使用的是最后一个版本3.0.12)并没有提供 std :: list 的默认映射。我看了整个网络,没有找到任何东西..我很惊讶,因为 std :: list 与C#LinkedList非常相似!

无论如何,我不在SWIG很长一段时间,所以我不知道该怎么做..我所知道的是我绝对无法改变所有 std ::在我的lib中列出,我真的很想将它们包装在C#LinkedList中,但我不知道它是否可行以及我是否可以轻松实现..

我查看了字体图,但我不确定它是否能正常工作,因为将 std :: list 映射到LinkedList似乎比使用简单的字体图更复杂。

人们,我需要你的建议! 提前致谢, 昆汀。

1 个答案:

答案 0 :(得分:0)

那么,对于那些像我一样面临同样问题的人,我最终决定将自己的std :: list实现为C#LinkedList。

我今天在SWIG GitHub上提出了拉取请求。如果有人有兴趣,请去检查一下。它并不完美,但现在仍在努力。