我似乎有一个问题让我的makefile正确构建我的C++文件。我的makefile代码如下所示;我正在编译的文件名为“avl.cc”(它正在工作并正确编译)。Makefile使用C++代替g ++ - 为什么?
CC=g++
CFLAGS=-g -O2
PROGS=avl
all: $(PROGS)
[email protected]:
$(CC) $(CFLAGS) [email protected] [email protected]
.PHONY: clean
clean:
rm $(PROGS)
然而,当我输入命令make
或make all
,我得到
c++ avl.cc -o avl
和调试符号我想从-g
标志不上来。一个类似的makefile(只更改PROGS
变量)为类似的项目工作,所以我不知道我做错了什么。有没有人有任何提示?谢谢!
运行'make -p'。你需要'CXX = g ++'和'CXXFLAGS = -Wall -g -O2';也可以用'remake'作为'remake -x'和(如果你的GNU'make'已经足够近了)'make --trace' – 2014-10-27 16:54:33
你期待'$ @:'作为你要做的目标吗?因为你所期待的不是这样。该变量在make处理中不存在。 – 2014-10-27 16:54:51