代码之家  ›  专栏  ›  技术社区  ›  Ahmad

通过swigforc编译Quantlib#

  •  5
  • Ahmad  · 技术社区  · 15 年前

    有没有使用过 SWIG ? 我正在研究 QuantLib 并看到可以使用SWIG生成C代码。我们正在探索使用QuantLib和专有的封闭源代码库(可能会作为.Net DLL提供)创建一个金融函数组合库的选项。我们的想法是将两者结合起来创建一个统一的超级库。我见过 .Net port of QuantLib

    我没有C++的经验;而COM是一个让我印象深刻的东西(目前对我来说是个时髦词)。我知道与此主题相关的MSDN文章。

    1. 除了在C#中使用QuantLib,还有其他选择吗?
    2. 关于我的开发环境,我需要什么?
    3. 有人知道通过SWIG编译的现成的quantlibc库吗(一等奖=我的工作量减少)

    有什么需要帮忙的吗?

    编辑:

    1 回复  |  直到 14 年前
        1
  •  9
  •   Ahmad    14 年前

    因此,SWIG的C#绑定似乎是可用的。一个人需要 这个 SVN repository or list of files on SouceForge

    PATH 变量。

    Readme.txt QL_DIR 也需要创建的环境变量。

    这可能是VS Express的一个限制,但是解决方案文件包含C++项目和C++项目,其中只有C或C++部分可以在任何时候打开。我的建议是为C++和C语言项目创建单独的解决方案文件。

    来自.Net背景的lib文件、obj文件和所有其他与c++相关的jazz都需要一些时间来使用。

    为获得一个有效的C#库而采取的步骤

    1. 下载QuantLib和Boost,如前所述 here
    2. 下载 QuantLib-SWIG folder from SourceForge . 编辑: download of the zip Bindings
    3. 运行 swig.cmd 文件位于 QuantLib-SWIG\CSharp 文件夹(您需要先下载SWIG()-->这将为Quantlib生成cs包装文件。
    4. 构建c++项目 NQuantLibc DLLImport 属性(看到了吗 Dynamic-Link Library Search Order on MSDN 位置列表)
    5. 构建C#项目 NQuantLib

    关于我的开发环境,我需要什么?

    注:在撰写本文时,出现了 QL_HEX_VERSION 在C++ SWIG项目的源文件中的编号。在运行 swig.cmd命令 quantlib_wrap.cpp

    #if QL_HEX_VERSION < 0x010001f0//0x010100f0
    

    编辑: Luigi,正确地告诉我这是SVN(我使用的)中的代码的任何问题。他建议 QuantLib-SWIG-1.0.zip 应使用绑定。

    Quantlib也建立在 VC++ 2010 最新版本。