MinGWの標準検索パスにBoostライブラリを(インクルードファイルと一緒に)インクルードして、このようなことを実行するにはどうすればよいですか。
#include <filesystem.hpp>
using boost::filesystem;
C ++標準ライブラリのように、Makefileに-I、-l、および-Lを追加しないようにしますか?(私はWindows 7でコンパイルされたブースト1.51.0を使用しています)
私が(のために/usr/local
)それを行う方法は、グローバルに定義された に追加しCXXFLAGS
ます。私は常に MinGW を MSys と組み合わせて使用しています。fstab( C:\MinGW\msys\1.0\etc\fstab
) を にマップC:\Users
するように変更しました/home
。(いずれにせよ、それがデフォルトである必要があります。)次に.profile
、「デフォルト」を含むファイルをユーザー ディレクトリに定義しCFLAGS
、. だから私の場合:CXXFLAGS
LDFLAGS
export CFLAGS=-g -Wall -I/usr/local/include
export CXXFLAGS=-g -Wall -I/usr/local/include
export LDFLAGS=/usr/local/lib
makefile では、必要に応じて変数のみを拡張します。
LDFLAGS += -lawsomelib
CXXFLAGS
これは魔法のように機能し、特別な場合にローカルで再定義できるという利点があります。基本的に、メイクファイルでは、変数 CC、CXX、CXXFLAGS、CFLAGS、および LDFLAGS が既に定義されており、有用なものが含まれていると想定する必要があります。これは移植性があり、一種の標準的な方法です。
(注:/usr/local
標準の MinGW + MSys のインクルード ロケーションとしては使用されません。)
デフォルトでは、GCC は C_INCLUDE_PATH および CPP_INCLUDE_PATH 環境変数を探します。-I を実行する代わりに、以下を .bashrc に追加できます。
export CPP_INCLUDE_PATH=/path/to/your/boost/header