私はそうのようなメイクファイルを書いていると、エラーが見つかりませんコマンド++ G:メイク:メイク
LIB_DIR = $(shell pwd)/.linuxbrew/Cellar/boost/1.62.0/
FLAGS = -std=c++14
INC= -I$(LIB_DIR)include
LIB_PATH = -L$(LIB_DIR)lib
LIB = $(LIB_DIR)lib
LIBNAMES := filesystem-mt filesystem system-mt system
LIBS := $(foreach N,$(LIBNAMES),$(LIB)libboost_$N.a $(LIB)libboost_$N.dylib)
PATH = /Some/Path/
default:
g++ main.cpp $(FLAGS) $(INC) $(LIB_PATH) $(LIBS) -o assemble
./assemble $(PATH)
clean:
rm assemble
問題は、私は「LIB_DIRを」変数を含めると、それはG ++見つけることができない文句を言い、あります。私はいくつかの助けをすることができます。
"LIB_DIR '変数をインクルードし、実行したときに呼び出された正確なコマンドとエラーメッセージを正確に表示してくださいあなたは得る。また、makefileを使ってこれを行うには、実際には意味がありません。あなたはmakeの機能を使いません。たびにすべてをコンパイルするだけです。コンパイル行を含むシェルスクリプトを作成し、それを使って処理するのはなぜでしょうか? – MadScientist
練習のため。 LIB_DIRを削除してもうまく動作します。私はPATHを使う必要があります。なぜなら、ディレクトリに内容をアクセスするための実行を渡すからです。私がLIB_DIRを削除すると、それは私のマシン(インテント)上で正常に動作します。リモートマシンではBoostライブラリの場所なので、LIB_DIRをインクルードします。 –
OKですが、変数を設定する以外にmakeの機能に遠隔的に関係することを実際にやっていないのであれば、それほど練習ではありません。 – MadScientist