2016-09-06 17 views
-2

を行うことにする。 Please look my folders organization tooMakefileのエラー:何も、私は私のproyectでこのメイクファイルを持っている

私は/TallerMetalSlugmakeを実行すると、私はまた、タブがOKであり、私が得るかどうかを確認するためにcat -e -t -v Makefileを実行make: Nothing to be done for 'all'

取得:

CXX = g++$ 
CXXFLAGS = -lpthread -pthread$ 
$ 
LIBRERIAS = socket.cpp$ 
$ 
CLIENTE = Cliente$ 
SERVIDOR = Servidor$ 
$ 
.PHONY: all clean$ 
$ 
all:cliente servidor$ 
$ 
cliente:$ 
^I$(CXX) $(CLIENTE)/$(CLIENTE).cpp $(LIBRERIAS) $(CXXFLAGS) -o (CLIENTE)$ 
$ 
servidor:$ 
^I$(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(LIBRERIAS) $(CXXFLAGS) -o (SERVIDOR)$ 
$ 
clean:$ 
^Irm -f $(CLIENTE)/$(CLIENTE) $(SERVIDOR)/$(SERVIDOR)$ 
$ 
+1

すべての '$'は何ですか? –

+0

"make clean"と "make all"を試してください – robor78

+0

@πάνταῥε '' cat'フラグについて読んでください。ここでのポイントは、 'makefile'の中でタブの代わりにスペースを使うのは、些細で一般的な間違いではないことを示すことです。 –

答えて

0

私はそれが.PHONY

clienteservidorを追加する固定しました
CXX = g++ 
CXXFLAGS = -lpthread -pthread 

LIBRERIAS = socket.cpp 

CLIENTE = Cliente 
SERVIDOR = Servidor 

.PHONY: all clean cliente servidor 

all: clean cliente servidor 

cliente: 
    $(CXX) $(CLIENTE)/$(CLIENTE).cpp $(CLIENTE)/$(LIBRERIAS) $(CXXFLAGS) -o $(CLIENTE)/$(CLIENTE) 

servidor: 
    $(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(SERVIDOR)/$(LIBRERIAS) $(CXXFLAGS) -o $(SERVIDOR)/$(SERVIDOR) 

clean: 
    rm -f $(CLIENTE)/$(CLIENTE) $(SERVIDOR)/$(SERVIDOR) 
+0

変更は、 'all'ターゲットに'クリーン 'を追加することに関するものです(一般的にやりたいことではありません)。 –

1

clienteおよびservidorターゲットは、それぞれ$(CLIENTE)および$(SERVIDOR)に出力されます。 cleanターゲットは、$(CLIENTE)/ $(CLIENTE)と$(SERVIDOR)/ $(SERVIDOR)

スクリーンショットから判断すると

から削除

しかし、出力がサブフォルダにする必要があります。したがって、クライアントとサービサーのターゲットを次のように変更してください。

cliente: 
    $(CXX) $(CLIENTE)/$(CLIENTE).cpp $(LIBRERIAS) $(CXXFLAGS) -o $(CLIENTE)/$(CLIENTE) 

servidor: 
    $(CXX) $(SERVIDOR)/$(SERVIDOR).cpp $(LIBRERIAS) $(CXXFLAGS) -o $(SERVIDOR)/$(SERVIDOR) 
関連する問題