我想用 -Wconversion -Werror 编译我的大部分代码。
问题是我使用了一个开源的 .cpp 文件并且不应该被修改,并且使用这些标志编译它会失败,因为该特定的 .cpp 文件存在一些“可能会改变值的隐式转换”的问题。
我可以以某种方式指示构建使用 -Wconversion -Werror 编译所有其他文件,但在没有这些标志的情况下编译该文件吗?
我想用 -Wconversion -Werror 编译我的大部分代码。
问题是我使用了一个开源的 .cpp 文件并且不应该被修改,并且使用这些标志编译它会失败,因为该特定的 .cpp 文件存在一些“可能会改变值的隐式转换”的问题。
我可以以某种方式指示构建使用 -Wconversion -Werror 编译所有其他文件,但在没有这些标志的情况下编译该文件吗?
该make
实用程序提供了一组丰富的工具,用于自定义构建和默认为常规逻辑事物的隐式过程。如果有与 gcc 工具链相关的问题,GNUmake
教程是一个很好的起点。
本质上,makefile 包含用于构建项目的自定义逻辑。规则由一个明显的目标组成,在一行上用冒号将其与依赖项分开,然后(可能零个或多个)在随后的行上由一个制表符缩进的配方组成,解释了构建该目标的步骤。虚假目标,例如。clean
, 也可以为了方便维护项目而定义。
如果存在特定于目标的规则,则将优先使用该规则而不是任何隐式规则来构建该目标。可能 OP 只需要向现有的 makefile 添加一个特定于目标的规则,该规则将控制编译器选项的使用(从源构建对象)。