Ahm*_*mad 6 c# c++ swig com-interop quantlib
任何人都有使用SWIG的经验吗?我目前正在研究QuantLib,并发现可以使用SWIG生成C#代码.我们正在探索使用QuantLib和专有的闭源库(可能以.Net dlls的形式提供)来创建财务功能组合库的选项.我们的想法是将这两者结合起来创建一个统一的超级库.我已经看到了QuantLib的.Net端口,但它似乎没有被主动维护(并且不完全确定实际移植了多少),所以我避免使用它.
第一步是评估生成可以在任何地方使用的库的难度,即MS Office应用程序(通过VBA),控制台应用程序以及服务器端(例如Web应用程序).我认为这涉及COM Interop,但我不知道从哪里开始,或者我是否在正确的轨道上.
我没有使用C++的经验; 和COM是我(我现在的一个流行语),我已经釉面了.我知道与此主题相关的相关MSDN文章.
我正在寻找以下几行的帮助:
任何帮助表示赞赏
编辑:我已经接受了我的答案作为正确的答案,除非提供更好的答案.
因此看起来SWIG的C#绑定可用.人们需要浏览该文件的SVN仓库或名单上SouceForge找到他们.
SWIG文件夹包含几个子文件夹,具体取决于您选择的语言,在我的情况下,C#是我感兴趣的文件夹.您需要先下载SWIG,然后将可执行文件下载到系统PATH变量中.
请务必阅读Readme.txt包含有关QL_DIR还需要创建的环境变量的详细信息.
这可能是VS Express的限制 - 但解决方案文件包含C#项目和C++项目,其中只能随时打开C#或C++部分.我的建议是为C++和C#项目创建单独的解决方案文件.
来自.Net背景,lib文件,obj文件和与c ++相关的所有其他爵士乐需要一些时间才能使用.
Bindingsswig.cmd位于QuantLib-SWIG\CSharp文件夹中的文件(您需要先下载SWIG() - >这会为Quantlib生成cs包装器文件.NQuantLibc- 请注意,此处创建的dll需要始终随NQuantlib C#内置dll一起提供.它需要放在DLLImport属性可读的位置 .(有关位置列表,请参阅MSDN上的动态链接库搜索顺序)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
Run Code Online (Sandbox Code Playgroud)
我已经通过电子邮件发送了项目作者,等待反馈.编辑: Luigi,正确告诉我这是SVN中代码的任何问题(我使用过).他建议应该使用QuantLib-SWIG-1.0.zip绑定.
Quantlib还在最新版本的VC++ 2010上构建.