2010-12-29 10 views
4

odeintモジュールをboost :: sandboxから使いたいのですが、svnから取得したサンドボックスコードを私のboostインストールに統合する方法がわかりません。私はブーストを$ BOOST_ROOT =/usr/local/boost_1_45_0にインストールしました。 $ BOOST_ROOT/boost/numeric/odeint.hppにヘッダーを置くブーストパスにodeintの内容をマージするだけでよいですか?boost :: sandbox :: odeint install

これは適切な方法ですか、またはboost :: sandboxコードを取得してインストールする標準的な方法ですか?

答えて

2

「正しい」解決法はわかりませんが、ファイルが上書きされないので、boost/numeric/odeint.hppboost/numeric/odeint/*.hppをそのディレクトリにコピーするだけで問題は発生しないはずですそしてあなたは終わりました)。

私はboost :: processのために何をしていたのですが、問題なく動作しました。

+0

Boostディレクトリツリーにはうまく収まらないようです。私は、すべてのサンドボックスライブラリは、コアブーストライブラリへの将来の追加を意図しているので、そのようなものだと思います。少なくともヘッダーのみのライブラリなので、実行時に問題は発生しません。検証していただきありがとうございます。 – Mike

+0

ほとんどのブーストライブラリーはヘッダーのみです(テンプレートとシンプルさを重視しているためです)。 –

+0

これはうまくいくが、これは正解とは言えない。私はインストールされたコードが混乱しているとは思わない。 – Catskul

3

boost.odeintは完全にヘッダーのみです。だから、あなたは$ BOOST_ROOTディレクトリにodeint/boostディレクトリの内容をコピーすることができ、すべてがうまくいくはずです。あるいは、odientディレクトリの場所をコンパイラのインクルードフラグに追加することもできます(gcc -Ipath_to_odeintなど)。

+0

チップをありがとう。ライブラリは今まで私のためにうまくいきました。大規模なテストがうまくいくなら、私はおそらく私のプロジェクトに採用するでしょう。現在の開発状況は何ですか、私は最近SVNの活動はなかったことに気付きましたか?どこに行ってもメーリングリストやディスカッションスレッドはありますか?開いているチケットでバグトラッカーを見つけることができませんでした。気を付けるべきことがあるのでしょうか、修正するべきですか? – Mike

+0

私はこの回答の2番目の選択肢は、技術的にはどちらかといえば "正しい"ものだと思います。 – Catskul

0

現在、私たちは完全にライブラリを再設計しています。インターフェイスは同じですが、いくつかの追加機能(cudaサポート、ステートタイプとして構造体とタプルのサポート)といくつかのステッパー(剛性ソルバ、暗黙ソルバーなど)が追加されます。バグトラッカーと別のリストは存在しませんが、議論や提案に[email protected]を使うことができます。