每当我编写自己的代码时,我通常使用IDE。我不太了解make,配置脚本,等等。
我现在正在处理一个大型而复杂的现有项目,构建步骤如下:
./autogen.sh
./configure
make我编写了自己的C文件并将它们添加到Makefile.am中。然后我重复这个过程来构建。
一切都很好,除了一件事。我想在没有像-Wall这样的编译器选项的情况下进行构建。有人告诉我,像这样使用CFLAGS会给我我想要的东西:
./configure CFLAGS=-O0它似乎不起作用,因为编译器仍然使用-Wall选项。我可以从-Wall“.”中手动删除所有发生的CFLAGS=。在配置脚本中。这很烦人,但很管用。但是当我执行
./autogen.sh配置脚本将与所有的-Walls (以及我不想要的其他CLFAGS )重新设置在原来的位置。(我不确定,但我认为每次向autogen.sh添加新文件时都必须运行Makefile.am。)
有没有更好的办法来处理这件事?
发布于 2015-09-26 01:28:42
最简单的方法可能是在实际构建时使用make完成
make CFLAGS=-O0不过,这只是暂时的,不会是永久性的。
发布于 2015-09-27 19:37:36
做一个
./configure --help显示
Some influential environment variables: ...
CFLAGS C compiler flags更好的方法是
env CFLAGS="-O0" ./configure然后一个简单的
make就像你期望的那样。这有助于设置其他编译标志。
https://stackoverflow.com/questions/32792692
复制相似问题