如何让g ++忽略来自包含项目的警告

时间:2013-02-07 18:32:11

标签: makefile g++

我正在创建一个依赖于其他两个项目的新项目(由其他人编写)。在我开发代码时,我想使用g ++选项,例如-Wall -pedantic -Werror但是当我使用这些选项时,我会通过包含来自其他两个项目的文件来获得大量警告。

有什么方法可以忽略这两个项目的警告但仍能看到我自己项目的警告?

1 个答案:

答案 0 :(得分:0)

如果您是通过makefile直接编译源代码,则可以创建可选的CPPFLAGS,用于条件编译参数。例如:

CPPFLAGS=-Wall -pedantic -Werror用于您的项目,CPPFLAGS=-g用于他们的项目文件(或其他内容)。

采用以下示例makefile。假设您撰写了factorial.cpphello.cpp,并撰写了main.cpp

CPPFLAGS+=-Wall -pedantic -Werror

all: hello

hello: main.o factorial.o hello.o
    g++ main.o factorial.o hello.o -o hello

main.o: main.cpp
    g++ -c main.cpp

factorial.o: factorial.cpp
    g++ -c $(CPPFLAGS) factorial.cpp

hello.o: hello.cpp
    g++ -c $(CPPFLAGS) hello.cpp

clean:
    rm -rf *o hello

尝试类似的东西并回复我。