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