[英]Is there an option for gcc which discards -g flag?
我正在構建一個提供許多makefile的包,每個makefile都有類似的硬編碼
CFLAGS = -g -O2 -Wall ...
CXXFLAGS = -g -O2 -Wall ...
我想丟棄-g
選項,但我不想編輯所有的makefile(甚至不能自動使用sed
或類似的東西)。 該軟件包附帶的configure
腳本沒有啟用/禁用調試選項,但我可以將CFLAGS
和CXXFLAGS
變量傳遞給它,並將它們的值連接到分別包含-g
選項的CFLAGS
和CXXFLAGS
變量。
是否有一個選項會在指定的情況下丟棄-g
? 就像是
gcc -option-im-looking-for -g file.c -o file
將構建沒有調試符號的二進制file
。 我不想剝離二進制文件,我希望它被創建剝離。
您可以通過添加-g0
來否定 -g
的效果。 話
gcc -g -g0 foo.c -o file.o
會產生一個二進制相同的二進制文件
gcc foo.c -o foo.o
引用man gcc
:
-glevel
...
Level 0 produces no debug information at all. Thus, -g0 negates
-g.
您無需編輯makefile。 只需覆蓋命令行上的變量:
$ cat Makefile
CFLAGS = -g -Wall
all:
echo $(CFLAGS)
$ make
echo -g -Wall
-g -Wall
$ make CFLAGS=-Wall
echo -Wall
-Wall
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.