Is it possible to display compiler warnings in Arduino?

前端 未结 5 749
伪装坚强ぢ
伪装坚强ぢ 2021-01-07 01:28

I would like the Arduino IDE to display compiler warnings, and I would rather not have to compile once in the terminal for warnings, and again through Arduino to generate th

5条回答
  •  盖世英雄少女心
    2021-01-07 01:40

    The feature as described @Matthew, not only displays the warnings, but a lot of distracting information on how the compiler was called as well.

    See the addendum to my question Have Arduino IDE set compiler warnings to error implement the changes to the arduino script:

    -export PATH="${APPDIR}/java/bin:${PATH}"
    +export ORGPATH="${APPDIR}/java/bin:${PATH}"
    +export PATH="${APPDIR}/extra:${ORGPATH}"
    

    and make the 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)
    

    Comment out extend = True if you do not want the compiler to interpret warnings in your source as errors.

提交回复
热议问题