因此,SWIG 的 C# 绑定似乎可用。需要浏览SVN 存储库或 SouceForge 上的文件列表才能找到它们。
SWIG 文件夹包含几个子文件夹,具体取决于您选择的语言,在我的情况下,C# 是我感兴趣的那个。您需要先下载 SWIG 并将其作为系统PATH变量的可执行文件。
确保阅读它,Readme.txt因为它包含有关QL_DIR还需要创建的环境变量的详细信息。
这可能是 VS Express 的限制 - 但解决方案文件包含 C# 项目和 C++ 项目,其中只有 C# 或 C++ 部分可以随时打开。我的建议是为 C++ 和 C# 项目创建单独的解决方案文件。
来自 .Net 背景、lib 文件、obj 文件以及与 c++ 相关的所有其他爵士乐需要一些时间来适应。
获得工作 C# 库所采取的步骤
- 按照此处所述下载 QuantLib 和 Boost
- 从 SourceForge 下载 QuantLib-SWIG 文件夹的 tar 球。编辑:主页上有可用的zip 下载。它列在子文件夹中。检查下的v1.0文件夹
Bindings
- 运行
swig.cmd位于QuantLib-SWIG\CSharp文件夹中的文件(您需要先下载 SWIG()--> 这将为 Quantlib 生成 cs 包装文件。
- 构建 c++ 项目
NQuantLibc- 注意这里创建的 dll 需要始终与 NQuantlib C# 构建的 dll 一起提供。它需要放置在 DLLImport属性可读的位置。(有关位置列表,请参阅MSDN 上的动态链接库搜索顺序)
- 构建 C# 项目
NQuantLib
关于我的开发环境,我需要什么?
当前版本的 QuantLib 似乎仅使用 VS 2008 构建。VS 2010 发生了一些变化,导致编译出现一些问题。C# 项目构建良好,但只需记住将目标框架从 v4 更改为 v3.5 以降低。
注意:在撰写本文时QL_HEX_VERSION,C++ SWIG 项目的源文件中的数字存在问题。运行swig.cmd打开 VS 项目后,将第 344 行更改quantlib_wrap.cpp为
#if QL_HEX_VERSION < 0x010001f0//0x010100f0
我已经给项目作者发了邮件,等待反馈。编辑: Luigi,正确地告诉我这是 SVN 中的代码(我使用的)的任何问题。他建议应该使用
QuantLib-SWIG-1.0.zip绑定。
Quantlib 还在最新版本的VC++ 2010上构建。