每当我编写自己的代码时,我通常会使用IDE。我不太了解make,配置脚本等等。
我现在正在开展一个庞大而复杂的现有项目,而构建的步骤是:
./autogen.sh
./configure
make
我编写了自己的C文件并将它们添加到Makefile.am中。然后我重复这个过程来构建。
一切都很好,除了一件事。我想在没有像-Wall这样的编译器选项的情况下构建。我被告知使用这样的CFLAGS会给我我想要的东西:
./configure CFLAGS=-O0
它似乎不起作用,因为编译器仍然使用-Wall选项。我可以从配置脚本中的CFLAGS =“...”手动删除所有出现的-Wall。这很烦人,但它确实有效。但是当我执行
时./autogen.sh
将配置脚本重置为原始位置的所有-Walls(以及我不想要的其他CLFAGS)。 (我不确定,但我想每次向Makefile.am添加新文件时都必须运行autogen.sh。)
有没有更好的方法来解决这个问题?
答案 0 :(得分:2)
最简单的方法可能是在使用ssh
实际构建时执行此操作:
make
但这对于那个版本来说只是暂时的,它不会是永久性的。
答案 1 :(得分:2)
做一个
./configure --help
显示
Some influential environment variables: ...
CFLAGS C compiler flags
更好的方法是
env CFLAGS="-O0" ./configure
然后一个简单的
make
如你所愿。这有助于设置其他编译标志。