【发布时间】:2023-03-18 23:59:01
【问题描述】:
我目前运行 make -j20 TGT=stuff,它从 Makefile 获取数百个我无法编辑的标志。
我想删除优化 -O3 以将 -O0 传递给调试。我可以通过修改make -j20 ... 命令来覆盖Makefile 中的内容吗?
编辑:我使用 g++
【问题讨论】:
-
这取决于 Makefile 的编写方式。您可以发布 Makefile 的相关摘录吗?
-
很遗憾没有,但我可以说
CPPFLAGS的设置是什么 -
根据gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html,“最后一个这样的选项是有效的”(关于 O 标志)。因此,如果您能找到一种方法将 -O0 添加到命令中稍后添加的变量中,而不是 -O3 标志,那么它应该可以工作。也就是说,如果你使用 gcc...
-
最简单的方法可能是为 Makefile 使用的编译命令创建一个别名。 IE。导致
gcc <options>实际运行gcc <options> -O0。请参阅stackoverflow.com/a/7131683/5533897 在 bash 中创建这样的别名。或者干脆让 gcc 别名过滤掉-O3。