したがって、SWIGのC#バインディングが使用可能であるように見えます。それらを見つけるには、SVNリポジトリまたはSouceForge上のファイルのリストを参照する必要があります。
SWIGフォルダーには、選択した言語に応じていくつかのサブフォルダーが含まれています。私の場合、C#が興味を持ったものでした。PATH最初にSWIGをダウンロードし、実行可能ファイルをシステム変数にダウンロードする必要があります。
作成する必要Readme.txtのある環境変数の詳細が含まれているので、必ずお読みください。QL_DIR
これはVSExpressの制限である可能性がありますが、ソリューションファイルにはC#プロジェクトとC ++プロジェクトの両方が含まれており、いつでもC#またはC++のいずれかの部分のみを開くことができます。私の提案は、C ++プロジェクトとC#プロジェクト用に別々のソリューションファイルを作成することです。
.Netのバックグラウンド、libファイル、objファイル、およびc ++に関連する他のすべてのジャズから来ると、慣れるまでに少し時間がかかります。
動作するC#ライブラリを取得するために実行する手順
- ここで説明されているようにQuantLibとBoostをダウンロードします
- QuantsLib-SWIGフォルダのtarボールをSourceForgeからダウンロードします。編集:ホームページで利用可能なzipのダウンロードがあります。サブフォルダ内にリストされています。下のv1.0フォルダを確認してください
Bindings
swig.cmdフォルダにあるファイルを実行しQuantLib-SWIG\CSharpます(SWIG first()をダウンロードする必要があります->これにより、Quantlibのcsラッパーファイルが生成されます。
- c ++プロジェクトをビルドします
NQuantLibc-ここで作成されたdllは、常にNQuantlib C#でビルドされたdllと一緒に出荷される必要があることに注意してください。属性で読み取り可能な場所に配置する必要があり DLLImportます。(場所のリストについては、MSDNのダイナミックリンクライブラリの検索順序を参照してください)
- C#プロジェクトをビルドする
NQuantLib
開発環境に関して、何が必要ですか?
QuantLibの現在のバージョンはVS2008でのみビルドされるようです。VS2010にいくつかの変更があり、コンパイルでいくつかの問題が発生します。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にも基づいています。