7

我终其一生都无法停止警告我有关 C++11 扩展的警告。在我使用“auto”或任何其他 C++11 扩展的任何地方,它都会发出警告。

我有旗帜-Wno-c++11-extension,但它仍然会打印它们。

这是我的生成文件:

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
4

1 回答 1

7

您还需要将所有编译器选项传递给编译步骤:

$(OBJ_DIR)/%.o: %.cpp
    $(CXX) $(CXXFLAGS) $(INC_DIR) -c $< -g -o $@ 
#          ^^^^^^^^^^^
于 2013-05-19T21:54:15.883 回答