私はこのメイクファイルを持っているg ++ makeの使い方は?
CC = g++
CFLAGS = -std=c++14 -Wall -Wpedantic -g
PROG = a
OBJS = other.o main.o
SRCS = other.cpp main.cpp
a: $(OBJS)
$(CC) $(CFLAGS) -o $(PROG) $(OBJS)
.cpp.o:
$(CC) $(CFLAGS) -c $*.cpp
clean:
$(RM) -f $(OBJS) $(PROG)
depend:
makedepend -- $(CFLAGS) -- $(SRCS)
マイother.cppがある
int f() noexcept // example function
{
return 2;
}
私のmain.cppには、私はmake depend
を実行すると、それだけで追加し、明らかに、そう
int main(int, char**)
{
f();
return 0;
}
です#DO NOT DELETE
と書かれています。しかし、コンパイル時に、私がちょうどmake
を実行すると、私はmain.cppのためにこのエラーを受け取ります:‘f’ was not declared in this scope
。私はここに大きなものがないと思う。なぜこれがコンパイルされないのか、私は何をすべきなのか誰にも説明できますか?
私は個人的にヘッダーファイルを採用することをお勧めします。あなたは後でそれを必要とするでしょう。 –
CCはC++コンパイラであってはなりません。それにはCXXを使用してください。 –
そして 'CFLAGS'ではなく' CXXFLAGS'です。 – juanchopanza