编译和链接 Quantlib 需要一些时间,因为它不是一个小项目。我正在 Quantlib 之上构建一些附加功能,我想将这些附加功能保留在一个单独的项目中。
有没有办法通过 SWIG 轻松地将两个 C++ 项目公开到一个库中?因为我的项目很小,只有几个类,所以我可以轻松地负担得起手动完成 SWIG 自动化的工作。但是,我真的只想向我的用户部署最少的文件,即由 Quantlib-SWIG 构建的两个 dll。
最佳答案
我不是特别了解 Quantlib,但一般来说,使用 SWIG 执行此操作应该非常简单:SWIG 的 C# 模块支持 dllimport
选项,该选项允许您指定为P/Invoke 方法(有关详细信息,请参阅 SWIG 手册的 C# 部分)。
因此,您只需为您的扩展创建一个单独的 SWIG 接口(interface)文件,将 dllimport
设置为 Quantlib 使用的名称,然后将两个 C++ 胶水代码文件编译为一个 DLL,用于 Quantlib 和您的自己的代码。
关于c# - 通过 SWIG 将 Quantlib 和另一个库公开给 C#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5238196/