【发布时间】:2017-04-25 09:52:16
【问题描述】:
我目前正在使用 SWIG 将大型 C++ 库包装到 C#。我面临一个大问题,因为我的库使用了大量 std::list,而且似乎 SWIG(我使用的是最新版本 3.0.12)不提供默认映射对于 std::list。我在网上找遍了,一无所获。我很惊讶,因为 std::list 与 C# LinkedList 非常相似!
反正我很久没在SWIG了,所以我真的不知道该怎么做。。我只知道我绝对不能改变所有的std::list 在我的库中,我真的很想将它们包装在 C# LinkedList 中,但我不知道这是否可能以及我是否可以轻松地做到这一点..
我查看了类型映射,但我不确定它是否能正常工作,因为将 std::list 映射到 LinkedList 似乎比使用简单类型映射更复杂..
各位,我需要你给我建议! 提前致谢, 昆汀。
【问题讨论】:
-
你考虑过 C++ / CLI 吗?
-
其实我们已经试过这个方案了。但最终,由于多种原因,它并没有达到我们想要的效果。主要原因是我们希望尽可能少地接触 lib 源代码。