最近在编译TI的SDK,但是它的查找错误级别很高,吧一些没有必要的警告都变成错误,我想到的办法第一个就是应该是gcc编译的时候加上了 -Werror,但是整个SDK实在太大,很多地方都有,我去掉了-werror后还是有错,所以我选择了用volatile将变量设置为易变的,救过是成功编译,结论:编译器将未使用的变量进行了优化,优化后去掉了次变量,但是函数里面有部分比如打印有用到,导致了找不到此变量。所以用volatile设置变量,编译器就无法将它优化掉。
也有可能是这个选项导致的,--emit_warnings_as_errors,大致的含义就是把警告输出为错误。