通过SWIG向C#公开Quantlib和另一个库

通过SWIG向C#公开Quantlib和另一个库,c#,c++,swig,quantlib,quantlib-swig,C#,C++,Swig,Quantlib,Quantlib Swig,编译和链接Quantlib需要一些时间,因为它不是一个小项目。我正在Quantlib之上构建一些附加功能,我希望将这些附加功能保留在一个单独的项目中 有没有一种方法可以通过SWIG轻松地将两个C++项目暴露到一个库中?因为我的项目非常小,只有几个类,我可以轻松地手动完成SWIG自动化的工作。然而,我真的只想向我的用户部署最少量的文件,即Quantlib SWIG构建的两个DLL。看看的预构建二进制文件,尽管我不确定他们多久会更新Quantlib版本 它至少可以让您不用担心其中一个库的问题?我不知

编译和链接Quantlib需要一些时间,因为它不是一个小项目。我正在Quantlib之上构建一些附加功能,我希望将这些附加功能保留在一个单独的项目中

<>有没有一种方法可以通过SWIG轻松地将两个C++项目暴露到一个库中?因为我的项目非常小,只有几个类,我可以轻松地手动完成SWIG自动化的工作。然而,我真的只想向我的用户部署最少量的文件,即Quantlib SWIG构建的两个DLL。

看看的预构建二进制文件,尽管我不确定他们多久会更新Quantlib版本


它至少可以让您不用担心其中一个库的问题?

我不知道Quantlib的具体情况,但一般来说,使用SWIG执行此操作应该非常简单:SWIG的C#模块支持
dlliport
选项,该选项允许您指定为p/Invoke方法引用的DLL(有关详细信息,请参阅SWIG手册的C#部分)

因此,您可以为扩展创建一个单独的SWIG接口文件,将代码> > DLimPult/Cube >到QuiTrIB所使用的名称,并将C++的GLASH代码文件编译成一个DLL,既适用于QuiLIB,也适用于您自己的代码。