Функция, описанная @Matthew, отображает не только предупреждения, но и много отвлекающей информации о том, как вызывался компилятор.
См. Приложение к моему вопросу Установите Arduino IDEпредупреждения компилятора об ошибке реализуют изменения в скрипте arduino:
-export PATH="${APPDIR}/java/bin:${PATH}"
+export ORGPATH="${APPDIR}/java/bin:${PATH}"
+export PATH="${APPDIR}/extra:${ORGPATH}"
и делают extra/avr-g++
:
#! /usr/bin/env python
import os
import sys
import subprocess
checklibpat = [
'SoftwareSerial',
'GSM_GPRS',
]
werr = '-Werror'
wall = '-Wall'
cmd = ['avr-g++'] + sys.argv[1:]
os.environ['PATH'] = os.environ['ORGPATH']
fname = sys.argv[-2][:]
extend = False
warn = False
if cmd[-2].startswith('/tmp'):
extend = True
warn = True
if not extend:
for l in checklibpat:
if l in cmd[-2]:
warn = True
break
if warn:
#print len(fname), list(fname)
for i, c in enumerate(cmd):
if c == '-w':
cmd[i] = wall
break
if extend:
cmd.insert(1, werr)
## to enable deprecated stuff (Print.cpp) with gcc 4.7.0
#cmd.insert(1, '-D__PROG_TYPES_COMPAT__=1')
subprocess.call(cmd)
Комментарий extend = True
, если вы не хотитекомпилятор для интерпретации предупреждений в вашем источнике как ошибки.