1

我想用 -Wconversion -Werror 编译我的大部分代码。

问题是我使用了一个开源的 .cpp 文件并且不应该被修改,并且使用这些标志编译它会失败,因为该特定的 .cpp 文件存在一些“可能会改变值的隐式转换”的问题。

我可以以某种方式指示构建使用 -Wconversion -Werror 编译所有其他文件,但在没有这些标志的情况下编译该文件吗?

4

1 回答 1

1

make实用程序提供了一组丰富的工具,用于自定义构建和默认为常规逻辑事物的隐式过程。如果有与 gcc 工具链相关的问题,GNUmake教程是一个很好的起点。

本质上,makefile 包含用于构建项目的自定义逻辑。规则由一个明显的目标组成,在一行上用冒号将其与依赖项分开,然后(可能零个或多个)在随后的行上由一个制表符缩进的配方组成,解释了构建该目标的步骤。虚假目标,例如。clean, 也可以为了方便维护项目而定义。

如果存在特定于目标的规则,则将优先使用该规则而不是任何隐式规则来构建该目标。可能 OP 只需要向现有的 makefile 添加一个特定于目标的规则,该规则将控制编译器选项的使用(从源构建对象)。

于 2013-02-15T17:22:27.977 回答