Ari*_*Ari 7 c++ makefile c++11
我能够使用带有-std = c ++ 0x选项的gcc编译单个文件.但我不能通过makefile来做到这一点.以下是我的makefile中的标志集(在抱怨c ++ 11关键字之后):
MACHINE = $(shell echo `uname -s`-`uname -m` | sed "s/ //g")
CCC = CC
CCC = g++
CFLAGS = -O3
CFLAGS = -std=c++0x
CFLAGS = -pg -D_DEBUG -g -c -Wall
LFLAGS = -O
LFLAGS = -pg -g
Run Code Online (Sandbox Code Playgroud)
我错过了什么?
编辑:我将其更改为以下,但我仍然得到编译错误,我没有得到命令行gcc调用.
CXXFLAGS=-O3 -std=c++0x -pg -D_DEBUG -g -c -Wall
Run Code Online (Sandbox Code Playgroud)
mfo*_*ini 12
这样你的makefile将使用你的所有CFLAGS
:
CFLAGS=-O3 -std=c++0x -pg -D_DEBUG -g -c -Wall
Run Code Online (Sandbox Code Playgroud)
你用每个"CFLAGS = ..."声明覆盖它们.
而且,它应该是CXXFLAGS
,而不是CFLAGS
.CFLAGS
适用于C应用程序.
正如@Florian Sowade所说,你可以使用CFLAGS += -O3 -std....
(或CXXFLAGS ..),这样用户可以在执行make时提供自己的标志.