用于调试的makefile标志(需要符号信息)-g标志不起作用

时间:2012-01-27 14:43:53

标签: c debugging makefile debug-symbols

我正在研究一个makefile并尝试编译它以进行调试(我添加了-g和-Wall标志)。以下是相关部分:

LDFLAGS     =-L$(ORACLE_HOME)/lib -L$(ORACLE_HOME)/rdbms/lib -L../../lib

INCLUDE     =-I$(ORACLE_HOME)/rdbms/demo -I$(ORACLE_HOME)/rdbms/public -I$(ORACLE_HOME)/plsql/public -I$(ORACLE_HOME)/network/public -I$(COMMON_SRC) -I$(BNS_INCLUDE) -I. 

CFLAGS      =$(INCLUDE) $(LDFLAGS) -g -Wall -Xt

错误: 我试图在unix中编译并得到一个错误:

cc: illegal option -Wall
*** Error code 1
clearmake: Error: Build script failed for "bess_interface.o"

我记得之前在Linux / Cygwin上使用过-Wall

问题:

  

为什么我收到-Wall错误?这不是一个有效的旗帜吗?

注意:
我最初有:

CFLAGS      =$(INCLUDE) $(LDFLAGS) -g -Xt

当我尝试调试时,我会收到错误消息:

  

没有“主要”的符号信息。使用-g标志进行编译。

-g旗帜就在那里!

1 个答案:

答案 0 :(得分:2)

-Wall用于启用GNU编译器上的所有警告。

对于SUN的Forte编译器,请使用-errwarn=%all

编译调试标志仍为-g