我不能为了我的生活而得到警告,不要再向我发出有关C ++ 11扩展的警告。无论我在哪里使用“auto”或任何其他C ++ 11扩展,它都会发出警告。
我有标记-Wno-c++11-extension
,但仍会打印它们。
这是我的makefile:
CXX = clang++
CXXFLAGS = -std=c++11 -Wall -Wno-c++11-extensions
LIBS = -lglfw -lGL -lGLU -lGLEW
OBJ_DIR = bin
LIB_DIR = -L/usr/lib
INC_DIR = -I/usr/include
SOURCE = $(wildcard *.cpp)
OBJECTS = ${SOURCE:%.cpp=$(OBJ_DIR)/%.o}
EXECUTABLE = vox
ARGS = -w1024 -h800
.PHONY: init clean
all: init $(OBJECTS) $(EXECUTABLE)
$(EXECUTABLE): $(OBJECTS)
$(CXX) $(CXXFLAGS) $(LIB_DIR) -o $@ $(OBJECTS) $(LIBS)
$(OBJ_DIR)/%.o: %.cpp
$(CXX) $(INC_DIR) -c $< -g -o $@
run: init $(EXECUTABLE)
@echo $(ls . | grep *.cpp)
@./$(EXECUTABLE) $(ARGS)
init:
@mkdir -p "$(OBJ_DIR)"
clean:
@rm -rf $(OBJ_DIR) $(EXECUTABLE)
这是我的clang++ --version
输出
Ubuntu clang version 3.2-1~exp5ubuntu1~precise1 (tags/RELEASE_32/final) (based on LLVM 3.2)
Target: x86_64-pc-linux-gnu
Thread model: posix
答案 0 :(得分:6)
您还需要将所有编译器选项传递给编译步骤:
$(OBJ_DIR)/%.o: %.cpp
$(CXX) $(CXXFLAGS) $(INC_DIR) -c $< -g -o $@
# ^^^^^^^^^^^