私はBoostライブラリ、特にlexical_cast
とgeometry
をプログラムに組み込もうとしています。 #include"boost/boost/geometry.hpp"
および#include"boost/boost/lexical_cast/lexical_cast_old.hpp"
を使用してそれらを含めます。
コードを実行すると、致命的なエラー「インクルードファイルを開けません: 'boost/geometry/geometry.hpp':No such file or directory」が表示され、別のライブラリを含むBoostライブラリ内の別の.hppファイルが表示されますが、 #include<...>
の代わりに#include"..."
を使用します。
"..."
を置き換えると、このエラーが発生しますが、#include<...>
ではなく#include"..."
を使用して含まれている次のライブラリに置き換えられます。
これは私が#include<...>
のほぼすべてのインスタンスを#include"..."
に置き換えるといううんざりするような穴に私を導く可能性があるように感じます。変更できる設定や、これを整理するために含めることができるコードの一部はありますか?
または、他のすべての不要なライブラリを削除して、必要なライブラリを変更することもできます(私は知っていますが、それらは互いに依存しているように見えるので、それでも多くのことになります)。
Boostライブラリバージョン1.58.0を使用しています。
最初に、_#include "filepath"
_と_#include <filepath>
_ here の違いについて読む必要があります。
個人的には、次のようにVisual StudioのBoostを使用しています。
boost
ライブラリへのパスを追加ルート(私の場合はC:\Program Files (x86)\Boost_1_53
)。#include <boost/lexical_cast/lexical_cast_old.hpp>
_のようなソースに.hppファイルを含めますヘッダーのみではないライブラリを使用している場合は、プロジェクトプロパティ→リンカーでBoostライブラリへのパスも追加する必要があります→一般→追加のライブラリディレクトリ。
例えば:
c:\boost\boost_1_58_0
_(管理者として_booststrap.bat
_および_b2
_を実行)。$(THIRD_PARTY)\boost\boost_1_58_0\include
および$(THIRD_PARTY)\boost\boost_1_58_0\
をVC++ディレクトリ→インクルードディレクトリに追加しますVisual Studio 2012でプロジェクトを右クリックし、[プロパティ]を選択します。
プロパティダイアログで、[構成プロパティ]、[VC++ディレクトリ]の順に選択します。
「インクルードディレクトリ」リストにBoostインクルードパスを追加する必要があります。
すべてのヘッダーのみのライブラリを使用している場合は、これで完了です。それ以外の場合は、「ライブラリディレクトリ」にBoostライブラリパスを追加する必要があります。