编译和链接Quantlib需要一些时间,因为这不是一个小项目。我正在Quantlib之上构建一些额外的功能,我希望将这些额外的功能保留在一个单独的项目中。
有没有一种方法可以通过SWIG轻松地将两个C++项目公开到一个库中?因为我的项目很小,只有几个类,所以我可以很容易地手动完成SWIG自动化的工作。然而,我真的希望只向我的用户部署最少的文件,也就是由Quantlib-SWIG构建的两个dll。
发布于 2011-03-09 05:44:37
我不是特别了解Quantlib,但一般来说,使用SWIG做这件事应该很简单: SWIG的C#模块支持dllimport选项,该选项允许您指定P/Invoke方法所引用的DLL (有关详细信息,请参阅SWIG手册的C#部分)。
因此,您只需为您的扩展创建一个单独的SWIG界面文件,将dllimport设置为Quantlib使用的名称,然后将这两个C++胶水代码文件编译成一个单独的DLL,用于Quantlib和您自己的代码。
发布于 2011-03-09 05:39:18
请看一下QuantLib with C# bindings的Resolver Systems'预构建二进制文件,尽管我不确定它们多频繁地将其与QuantLib发行版保持最新。
这至少可以让你不用担心你的某个库了?
https://stackoverflow.com/questions/5238196
复制相似问题