已定义但未用于整个项目的变量

Posted

技术标签:

【中文标题】已定义但未用于整个项目的变量【英文标题】:Variables defined but not used for entire project 【发布时间】:2019-11-10 18:34:10 【问题描述】:

突然,在为我的项目重写库时,为项目中的所有库声明的所有静态变量都给出了一个警告,表示已定义但未使用。即使它有警卫,我也会在标头内多次定义变量时遇到错误。有没有解决这些问题的通用方法?我已经尝试了一段时间,但它没有帮助。

我已尝试通过排除库/部分代码来跟踪问题,但问题仍然存在。

多定义部分代码的标头:

/*
 * fonts.h
 *
 * Library of fonts
 * Large: 8x8, normal: 5x7 and small: 4x7
 */
#ifndef FONTS_H_
#define FONTS_H_

#include <avr/pgmspace.h>

// Font 8x8 - Large
const unsigned char PROGMEM font8[95][8] = 
    0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000, //
    0b00000000,0b00000110,0b01011111,0b01011111,0b00000110,0b00000000,0b00000000,0b00000000, // !
    0b00000000,0b00000111,0b00000111,0b00000000,0b00000111,0b00000111,0b00000000,0b00000000, // "
    0b00010100,0b01111111,0b01111111,0b00010100,0b01111111,0b01111111,0b00010100,0b00000000, // #
    0b00100100,0b00101110,0b01101011,0b01101011,0b00111010,0b00010010,0b00000000,0b00000000, // $
    0b01000110,0b01100110,0b00110000,0b00011000,0b00001100,0b01100110,0b01100010,0b00000000, // %
    0b00110000,0b01111010,0b01001111,0b01011101,0b00110111,0b01111010,0b01001000,0b00000000, // &
    0b00000100,0b00000111,0b00000011,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000, // '
    0b00000000,0b00011100,0b00111110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000, // (
    0b00000000,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000,0b00000000,0b00000000, // )
    0b00001000,0b00101010,0b00111110,0b00011100,0b00011100,0b00111110,0b00101010,0b00001000, // *
    0b00001000,0b00001000,0b00111110,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000, // +
    0b00000000,0b10100000,0b11100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000, // ,
    0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00001000,0b00000000,0b00000000, // -
    0b00000000,0b00000000,0b01100000,0b01100000,0b00000000,0b00000000,0b00000000,0b00000000, // .
    0b01100000,0b00110000,0b00011000,0b00001100,0b00000110,0b00000011,0b00000001,0b00000000, // /
    0b00111110,0b01111111,0b01011001,0b01001101,0b01111111,0b00111110,0b00000000,0b00000000, // 0
    0b01000010,0b01000010,0b01111111,0b01111111,0b01000000,0b01000000,0b00000000,0b00000000, // 1
    0b01100010,0b01110011,0b01011001,0b01001001,0b01101111,0b01100110,0b00000000,0b00000000, // 2
    0b00100010,0b01100011,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000, // 3
    0b00011000,0b00011100,0b00010110,0b00010011,0b01111111,0b01111111,0b00010000,0b00000000, // 4
    0b00100111,0b01100111,0b01000101,0b01000101,0b01111101,0b00111001,0b00000000,0b00000000, // 5
    0b00111100,0b01111110,0b01001011,0b01001001,0b01111001,0b00110000,0b00000000,0b00000000, // 6
    0b00000011,0b01100011,0b01110001,0b00011001,0b00001111,0b00000111,0b00000000,0b00000000, // 7
    0b00110110,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000,0b00000000, // 8
    0b00000110,0b01001111,0b01001001,0b01101001,0b00111111,0b00011110,0b00000000,0b00000000, // 9
    0b00000000,0b00000000,0b01101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000, // :
    0b00000000,0b10100000,0b11101100,0b01101100,0b00000000,0b00000000,0b00000000,0b00000000, // ;
    0b00001000,0b00011100,0b00110110,0b01100011,0b01000001,0b00000000,0b00000000,0b00000000, // <
    0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00010100,0b00000000,0b00000000, // =
    0b00000000,0b01000001,0b01100011,0b00110110,0b00011100,0b00001000,0b00000000,0b00000000, // >
    0b00000010,0b00000011,0b01010001,0b01011001,0b00001111,0b00000110,0b00000000,0b00000000, // ?
    0b00111110,0b01111111,0b01000001,0b01011101,0b01011101,0b00011111,0b00011110,0b00000000, // @
    0b01111100,0b01111110,0b00010011,0b00010011,0b01111110,0b01111100,0b00000000,0b00000000, // A
    0b01000001,0b01111111,0b01111111,0b01001001,0b01001001,0b01111111,0b00110110,0b00000000, // B
    0b00011100,0b00111110,0b01100011,0b01000001,0b01000001,0b01100011,0b00100010,0b00000000, // C
    0b01000001,0b01111111,0b01111111,0b01000001,0b01100011,0b01111111,0b00011100,0b00000000, // D
    0b01000001,0b01111111,0b01111111,0b01001001,0b01011101,0b01000001,0b01100011,0b00000000, // E
    0b01000001,0b01111111,0b01111111,0b01001001,0b00011101,0b00000001,0b00000011,0b00000000, // F
    0b00011100,0b00111110,0b01100011,0b01000001,0b01010001,0b01110011,0b01110010,0b00000000, // G
    0b01111111,0b01111111,0b00001000,0b00001000,0b01111111,0b01111111,0b00000000,0b00000000, // H
    0b00000000,0b01000001,0b01111111,0b01111111,0b01000001,0b00000000,0b00000000,0b00000000, // I
    0b00110000,0b01110000,0b01000000,0b01000001,0b01111111,0b00111111,0b00000001,0b00000000, // J
    0b01000001,0b01111111,0b01111111,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000, // K
    0b01000001,0b01111111,0b01111111,0b01000001,0b01000000,0b01100000,0b01110000,0b00000000, // L
    0b01111111,0b01111111,0b00000110,0b00001100,0b00000110,0b01111111,0b01111111,0b00000000, // M
    0b01111111,0b01111111,0b00000110,0b00001100,0b00011000,0b01111111,0b01111111,0b00000000, // N
    0b00011100,0b00111110,0b01100011,0b01000001,0b01100011,0b00111110,0b00011100,0b00000000, // O
    0b01000001,0b01111111,0b01111111,0b01001001,0b00001001,0b00001111,0b00000110,0b00000000, // P
    0b00011110,0b00111111,0b00100001,0b01110001,0b01111111,0b01011110,0b00000000,0b00000000, // Q
    0b01000001,0b01111111,0b01111111,0b00011001,0b00111001,0b01101111,0b01000110,0b00000000, // R
    0b00100110,0b01100111,0b01001101,0b01011001,0b01111011,0b00110010,0b00000000,0b00000000, // S
    0b00000011,0b01000001,0b01111111,0b01111111,0b01000001,0b00000011,0b00000000,0b00000000, // T
    0b01111111,0b01111111,0b01000000,0b01000000,0b01111111,0b01111111,0b00000000,0b00000000, // U
    0b00011111,0b00111111,0b01100000,0b01100000,0b00111111,0b00011111,0b00000000,0b00000000, // V
    0b01111111,0b01111111,0b00110000,0b00011000,0b00110000,0b01111111,0b01111111,0b00000000, // W
    0b01100011,0b01110111,0b00011100,0b00001000,0b00011100,0b01110111,0b01100011,0b00000000, // X
    0b00000111,0b01001111,0b01111000,0b01111000,0b01001111,0b00000111,0b00000000,0b00000000, // Y
    0b01100111,0b01110011,0b01011001,0b01001101,0b01000111,0b01100011,0b01110001,0b00000000, // Z
    0b00000000,0b01111111,0b01111111,0b01000001,0b01000001,0b00000000,0b00000000,0b00000000, // [
    0b00000001,0b00000011,0b00000110,0b00001100,0b00011000,0b00110000,0b01100000,0b00000000, // "\"
    0b00000000,0b01000001,0b01000001,0b01111111,0b01111111,0b00000000,0b00000000,0b00000000, // ]
    0b00001000,0b00001100,0b00000110,0b00000011,0b00000110,0b00001100,0b00001000,0b00000000, // ^
    0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000,0b10000000, // _
    0b00000000,0b00000000,0b00000011,0b00000111,0b00000100,0b00000000,0b00000000,0b00000000, // `
    0b00100000,0b01110100,0b01010100,0b01010100,0b00111100,0b01111000,0b01000000,0b00000000, // a
    0b01000001,0b00111111,0b01111111,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000, // b
    0b00111000,0b01111100,0b01000100,0b01000100,0b01101100,0b00101000,0b00000000,0b00000000, // c
    0b00110000,0b01111000,0b01001000,0b01001001,0b00111111,0b01111111,0b01000000,0b00000000, // d
    0b00111000,0b01111100,0b01010100,0b01010100,0b01011100,0b00011000,0b00000000,0b00000000, // e
    0b01001000,0b01111110,0b01111111,0b01001001,0b00000011,0b00000010,0b00000000,0b00000000, // f
    0b10011000,0b10111100,0b10100100,0b10100100,0b11111000,0b01111100,0b00000100,0b00000000, // g
    0b01000001,0b01111111,0b01111111,0b00001000,0b00000100,0b01111100,0b01111000,0b00000000, // h
    0b00000000,0b01000100,0b01111101,0b01111101,0b01000000,0b00000000,0b00000000,0b00000000, // i
    0b01000000,0b11000100,0b10000100,0b11111101,0b01111101,0b00000000,0b00000000,0b00000000, // j
    0b01000001,0b01111111,0b01111111,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000, // k
    0b00000000,0b01000001,0b01111111,0b01111111,0b01000000,0b00000000,0b00000000,0b00000000, // l
    0b01111100,0b01111100,0b00001100,0b00011000,0b00001100,0b01111100,0b01111000,0b00000000, // m
    0b01111100,0b01111100,0b00000100,0b00000100,0b01111100,0b01111000,0b00000000,0b00000000, // n
    0b00111000,0b01111100,0b01000100,0b01000100,0b01111100,0b00111000,0b00000000,0b00000000, // o
    0b10000100,0b11111100,0b11111000,0b10100100,0b00100100,0b00111100,0b00011000,0b00000000, // p
    0b00011000,0b00111100,0b00100100,0b10100100,0b11111000,0b11111100,0b10000100,0b00000000, // q
    0b01000100,0b01111100,0b01111000,0b01000100,0b00011100,0b00011000,0b00000000,0b00000000, // r
    0b01001000,0b01011100,0b01010100,0b01010100,0b01110100,0b00100100,0b00000000,0b00000000, // s
    0b00000000,0b00000100,0b00111110,0b01111111,0b01000100,0b00100100,0b00000000,0b00000000, // t
    0b00111100,0b01111100,0b01000000,0b01000000,0b00111100,0b01111100,0b01000000,0b00000000, // u
    0b00011100,0b00111100,0b01100000,0b01100000,0b00111100,0b00011100,0b00000000,0b00000000, // v
    0b00111100,0b01111100,0b01100000,0b00110000,0b01100000,0b01111100,0b00111100,0b00000000, // w
    0b01000100,0b01101100,0b00111000,0b00010000,0b00111000,0b01101100,0b01000100,0b00000000, // x
    0b10011100,0b10111100,0b10100000,0b10100000,0b11111100,0b01111100,0b00000000,0b00000000, // y
    0b01001100,0b01100100,0b01110100,0b01011100,0b01001100,0b01100100,0b00000000,0b00000000, // z
    0b00001000,0b00001000,0b00111110,0b01110111,0b01000001,0b01000001,0b00000000,0b00000000, // 
    0b00000000,0b00000000,0b00000000,0b01110111,0b01110111,0b00000000,0b00000000,0b00000000, // |
    0b01000001,0b01000001,0b01110111,0b00111110,0b00001000,0b00001000,0b00000000,0b00000000, // 
    0b00000010,0b00000011,0b00000001,0b00000011,0b00000010,0b00000011,0b00000001,0b00000000, // ~
;

// Font 5x7 - normal
const unsigned char PROGMEM font5[95][5] = 
    0b00000000,0b00000000,0b00000000,0b00000000,0b00000000, //
    0b00000000,0b00000000,0b01011111,0b00000000,0b00000000, // !
    0b00000000,0b00000111,0b00000000,0b00000111,0b00000000, // "
    0b00010100,0b01111111,0b00010100,0b01111111,0b00010100, // #
    0b00100100,0b00101010,0b01111111,0b00101010,0b00010010, // $
    0b00100011,0b00010011,0b00001000,0b01100100,0b01100010, // %
    0b00110110,0b01001001,0b01010101,0b00100010,0b01010000, // &
    0b00000000,0b00000101,0b00000011,0b00000000,0b00000000, // '
    0b00000000,0b00011100,0b00100010,0b01000001,0b00000000, // (
    0b00000000,0b01000001,0b00100010,0b00011100,0b00000000, // )
    0b00001000,0b00101010,0b00011100,0b00101010,0b00001000, // *
    0b00001000,0b00001000,0b00111110,0b00001000,0b00001000, // +
    0b00000000,0b01010000,0b00110000,0b00000000,0b00000000, // ,
    0b00001000,0b00001000,0b00001000,0b00001000,0b00001000, // -
    0b00000000,0b01100000,0b01100000,0b00000000,0b00000000, // .
    0b00100000,0b00010000,0b00001000,0b00000100,0b00000010, // /
    0b00111110,0b01010001,0b01001001,0b01000101,0b00111110, // 0
    0b00000000,0b01000010,0b01111111,0b01000000,0b00000000, // 1
    0b01000010,0b01100001,0b01010001,0b01001001,0b01000110, // 2
    0b00100001,0b01000001,0b01000101,0b01001011,0b00110001, // 3
    0b00011000,0b00010100,0b00010010,0b01111111,0b00010000, // 4
    0b00100111,0b01000101,0b01000101,0b01000101,0b00111001, // 5
    0b00111100,0b01001010,0b01001001,0b01001001,0b00110000, // 6
    0b00000001,0b01110001,0b00001001,0b00000101,0b00000011, // 7
    0b00110110,0b01001001,0b01001001,0b01001001,0b00110110, // 8
    0b00000110,0b01001001,0b01001001,0b00101001,0b00011110, // 9
    0b00000000,0b00110110,0b00110110,0b00000000,0b00000000, // :
    0b00000000,0b01010110,0b00110110,0b00000000,0b00000000, // ;
    0b00000000,0b00001000,0b00010100,0b00100010,0b01000001, // <
    0b00010100,0b00010100,0b00010100,0b00010100,0b00010100, // =
    0b01000001,0b00100010,0b00010100,0b00001000,0b00000000, // >
    0b00000010,0b00000001,0b01010001,0b00001001,0b00000110, // ?
    0b00110010,0b01001001,0b01111001,0b01000001,0b00111110, // @
    0b01111110,0b00010001,0b00010001,0b00010001,0b01111110, // A
    0b01111111,0b01001001,0b01001001,0b01001001,0b00110110, // B
    0b00111110,0b01000001,0b01000001,0b01000001,0b00100010, // C
    0b01111111,0b01000001,0b01000001,0b00100010,0b00011100, // D
    0b01111111,0b01001001,0b01001001,0b01001001,0b01000001, // E
    0b01111111,0b00001001,0b00001001,0b00000001,0b00000001, // F
    0b00111110,0b01000001,0b01000001,0b01010001,0b00110010, // G
    0b01111111,0b00001000,0b00001000,0b00001000,0b01111111, // H
    0b00000000,0b01000001,0b01111111,0b01000001,0b00000000, // I
    0b00100000,0b01000000,0b01000001,0b00111111,0b00000001, // J
    0b01111111,0b00001000,0b00010100,0b00100010,0b01000001, // K
    0b01111111,0b01000000,0b01000000,0b01000000,0b01000000, // L
    0b01111111,0b00000010,0b00000100,0b00000010,0b01111111, // M
    0b01111111,0b00000100,0b00001000,0b00010000,0b01111111, // N
    0b00111110,0b01000001,0b01000001,0b01000001,0b00111110, // O
    0b01111111,0b00001001,0b00001001,0b00001001,0b00000110, // P
    0b00111110,0b01000001,0b01010001,0b00100001,0b01011110, // Q
    0b01111111,0b00001001,0b00011001,0b00101001,0b01000110, // R
    0b01000110,0b01001001,0b01001001,0b01001001,0b00110001, // S
    0b00000001,0b00000001,0b01111111,0b00000001,0b00000001, // T
    0b00111111,0b01000000,0b01000000,0b01000000,0b00111111, // U
    0b00011111,0b00100000,0b01000000,0b00100000,0b00011111, // V
    0b01111111,0b00100000,0b00011000,0b00100000,0b01111111, // W
    0b01100011,0b00010100,0b00001000,0b00010100,0b01100011, // X
    0b00000011,0b00000100,0b01111000,0b00000100,0b00000011, // Y
    0b01100001,0b01010001,0b01001001,0b01000101,0b01000011, // Z
    0b00000000,0b00000000,0b01111111,0b01000001,0b01000001, // [
    0b00000010,0b00000100,0b00001000,0b00010000,0b00100000, // "\"
    0b01000001,0b01000001,0b01111111,0b00000000,0b00000000, // ]
    0b00000100,0b00000010,0b00000001,0b00000010,0b00000100, // ^
    0b01000000,0b01000000,0b01000000,0b01000000,0b01000000, // _
    0b00000000,0b00000001,0b00000010,0b00000100,0b00000000, // `
    0b00100000,0b01010100,0b01010100,0b01010100,0b01111000, // a
    0b01111111,0b01001000,0b01000100,0b01000100,0b00111000, // b
    0b00111000,0b01000100,0b01000100,0b01000100,0b00100000, // c
    0b00111000,0b01000100,0b01000100,0b01001000,0b01111111, // d
    0b00111000,0b01010100,0b01010100,0b01010100,0b00011000, // e
    0b00001000,0b01111110,0b00001001,0b00000001,0b00000010, // f
    0b00001000,0b00010100,0b01010100,0b01010100,0b00111100, // g
    0b01111111,0b00001000,0b00000100,0b00000100,0b01111000, // h
    0b00000000,0b01000100,0b01111101,0b01000000,0b00000000, // i
    0b00100000,0b01000000,0b01000100,0b00111101,0b00000000, // j
    0b00000000,0b01111111,0b00010000,0b00101000,0b01000100, // k
    0b00000000,0b01000001,0b01111111,0b01000000,0b00000000, // l
    0b01111100,0b00000100,0b00011000,0b00000100,0b01111000, // m
    0b01111100,0b00001000,0b00000100,0b00000100,0b01111000, // n
    0b00111000,0b01000100,0b01000100,0b01000100,0b00111000, // o
    0b01111100,0b00010100,0b00010100,0b00010100,0b00001000, // p
    0b00001000,0b00010100,0b00010100,0b00011000,0b01111100, // q
    0b01111100,0b00001000,0b00000100,0b00000100,0b00001000, // r
    0b01001000,0b01010100,0b01010100,0b01010100,0b00100000, // s
    0b00000100,0b00111111,0b01000100,0b01000000,0b00100000, // t
    0b00111100,0b01000000,0b01000000,0b00100000,0b01111100, // u
    0b00011100,0b00100000,0b01000000,0b00100000,0b00011100, // v
    0b00111100,0b01000000,0b00110000,0b01000000,0b00111100, // w
    0b01000100,0b00101000,0b00010000,0b00101000,0b01000100, // x
    0b00001100,0b01010000,0b01010000,0b01010000,0b00111100, // y
    0b01000100,0b01100100,0b01010100,0b01001100,0b01000100, // z
    0b00000000,0b00001000,0b00110110,0b01000001,0b00000000, // 
    0b00000000,0b00000000,0b01111111,0b00000000,0b00000000, // |
    0b00000000,0b01000001,0b00110110,0b00001000,0b00000000, // 
    0b00000010,0b00000001,0b00000011,0b00000010,0b00000001, // ~
    ;

// Font 4x6 - Small
const unsigned char PROGMEM font4[95][4] = 
        0b00000000,0b00000000,0b00000000,0b00000000, //
        0b00000000,0b01011100,0b00000000,0b00000000, // !
        0b00001100,0b00000000,0b00001100,0b00000000, // "
        0b01111100,0b00101000,0b01111100,0b00101000, // #
        0b01011000,0b11011100,0b01101000,0b00000000, // $
        0b00100100,0b00010000,0b01001000,0b00000000, // %
        0b00101000,0b01010100,0b00101000,0b01000000, // &
        0b00000000,0b00001100,0b00000000,0b00000000, // '
        0b00000000,0b01111000,0b10000100,0b00000000, // (
        0b10000100,0b01111000,0b00000000,0b00000000, // )
        0b01010100,0b00111000,0b01010100,0b00000000, // *
        0b00010000,0b01111100,0b00010000,0b00000000, // +
        0b10000000,0b01000000,0b00000000,0b00000000, // ,
        0b00010000,0b00010000,0b00010000,0b00000000, // -
        0b00000000,0b01000000,0b00000000,0b00000000, // .
        0b01100000,0b00010000,0b00001100,0b00000000, // /
        0b00111000,0b01010100,0b00111000,0b00000000, // 0
        0b01001000,0b01111100,0b01000000,0b00000000, // 1
        0b01001000,0b01100100,0b01011000,0b00000000, // 2
        0b01000100,0b01010100,0b00101100,0b00000000, // 3
        0b00011100,0b00010000,0b01111100,0b00000000, // 4
        0b01011100,0b01010100,0b00100100,0b00000000, // 5
        0b00111000,0b01010100,0b00100100,0b00000000, // 6
        0b01100100,0b00010100,0b00001100,0b00000000, // 7
        0b01101000,0b01010100,0b00101100,0b00000000, // 8
        0b01001000,0b01010100,0b00111000,0b00000000, // 9
        0b00000000,0b01001000,0b00000000,0b00000000, // :
        0b10000000,0b01001000,0b00000000,0b00000000, // ;
        0b00010000,0b00101000,0b01000100,0b00000000, // <
        0b00101000,0b00101000,0b00101000,0b00000000, // =
        0b01000100,0b00101000,0b00010000,0b00000000, // >
        0b00000100,0b01010100,0b00001000,0b00000000, // ?
        0b00111000,0b01000100,0b01011100,0b00000000, // @
        0b01111000,0b00010100,0b01111000,0b00000000, // A
        0b01111100,0b01010100,0b00101000,0b00000000, // B
        0b00111000,0b01000100,0b00101000,0b00000000, // C
        0b01111100,0b01000100,0b00111000,0b00000000, // D
        0b01111100,0b01010100,0b01000100,0b00000000, // E
        0b01111100,0b00010100,0b00000100,0b00000000, // F
        0b00111000,0b01000100,0b01110100,0b00000000, // G
        0b01111100,0b00010000,0b01111100,0b00000000, // H
        0b01000100,0b01111100,0b01000100,0b00000000, // I
        0b00100000,0b01000000,0b00111100,0b00000000, // J
        0b01111100,0b00010000,0b01101100,0b00000000, // K
        0b01111100,0b01000000,0b01000000,0b00000000, // L
        0b01111100,0b00011000,0b01111100,0b00000000, // M
        0b01111000,0b00010000,0b00111100,0b00000000, // N
        0b00111000,0b01000100,0b00111000,0b00000000, // O
        0b01111100,0b00010100,0b00001000,0b00000000, // P
        0b00111000,0b01000100,0b10111000,0b00000000, // Q
        0b01111100,0b00010100,0b01101000,0b00000000, // R
        0b01001000,0b01010100,0b00100100,0b00000000, // S
        0b00000100,0b01111100,0b00000100,0b00000000, // T
        0b01111100,0b01000000,0b01111100,0b00000000, // U
        0b00111100,0b01100000,0b00111100,0b00000000, // V
        0b01111100,0b00110000,0b01111100,0b00000000, // W
        0b01101100,0b00010000,0b01101100,0b00000000, // X
        0b00001100,0b01110000,0b00001100,0b00000000, // Y
        0b01100100,0b01010100,0b01001100,0b00000000, // Z
        0b00000000,0b01111100,0b01000100,0b00000000, // [
        0b00001100,0b00010000,0b01100000,0b00000000, // "\"
        0b01000100,0b01111100,0b00000000,0b00000000, // ]
        0b00001000,0b00000100,0b00001000,0b00000000, // ^
        0b10000000,0b10000000,0b10000000,0b00000000, // _
        0b00000000,0b00000100,0b00001000,0b00000000, // `
        0b00110000,0b01001000,0b01111000,0b00000000, // a
        0b01111100,0b01001000,0b00110000,0b00000000, // b
        0b00110000,0b01001000,0b01001000,0b00000000, // c
        0b00110000,0b01001000,0b01111100,0b00000000, // d
        0b00110000,0b01101000,0b01010000,0b00000000, // e
        0b00010000,0b01111000,0b00010100,0b00000000, // f
        0b10010000,0b10101000,0b01111000,0b00000000, // g
        0b01111100,0b00001000,0b01110000,0b00000000, // h
        0b01010000,0b01110100,0b01000000,0b00000000, // i
        0b10000000,0b10000000,0b01110100,0b00000000, // j
        0b01111100,0b00010000,0b01101000,0b00000000, // k
        0b01000100,0b01111100,0b01000000,0b00000000, // l
        0b01111000,0b00010000,0b01111000,0b00000000, // m
        0b01111000,0b00001000,0b01110000,0b00000000, // n
        0b00110000,0b01001000,0b00110000,0b00000000, // o
        0b11111000,0b00101000,0b00010000,0b00000000, // p
        0b00110000,0b01001000,0b11111000,0b00000000, // q
        0b01111000,0b00010000,0b00001000,0b00000000, // r
        0b01010000,0b01011000,0b00101000,0b00000000, // s
        0b00001000,0b00111100,0b01001000,0b00000000, // t
        0b00111000,0b01000000,0b01111000,0b00000000, // u
        0b00111000,0b01000000,0b00111000,0b00000000, // v
        0b01111000,0b00100000,0b01111000,0b00000000, // w
        0b01001000,0b00110000,0b01001000,0b00000000, // x
        0b10011000,0b10100000,0b01111000,0b00000000, // y
        0b01001000,0b01101000,0b01011000,0b00000000, // z
        0b00010000,0b01111000,0b10000100,0b00000000, // 
        0b00000000,0b01111100,0b00000000,0b00000000, // |
        0b10000100,0b01111000,0b00010000,0b00000000, // 
        0b00001000,0b00000100,0b00001000,0b00000100, // ~
        ;

#endif /* FONTS_H_ */

由于我不知道是什么导致了问题,因此很难缩小范围并给出相关的项目代码。

编辑:在标题中声明 fonts.h 变量并在 fonts.c 文件中初始化它们解决了多重定义问题。静态变量“已定义但未使用”问题仍然存在

【问题讨论】:

不得定义标题中带有外部链接的任何内容,句号。因此,问题出在此处的第 10 行和第 n-1 行之间存在的代码。你可以声明extern const unsigned char font8;(或者PROGMEM,不确定哪个是正确的)。 至于没有用到的静态变量,那肯定是个开关... 这些声明虽然使用 PROGMEM,但在我开始更改其他库之前确实有效。 很可能,您的“.h”文件只包含在一个“.c”文件中,现在它包含在其他“.c”文件中。另一种选择是库中的其他成员现在正在链接到您的代码中。 将所有数据放入fonts.c文件中,然后在头文件中只有一个数据的“原型”,类似于:extern const unsigned char PROGMEM font8[95][8]; 【参考方案1】:

如果一个全局变量声明为static,这意味着它只能在这个特定的.c 文件中使用。如果变量已声明但从未使用过,则表示代码中存在语义错误,并被标记为警告。

一般方法:只需删除未使用的静态变量,或从声明中删除 static 关键字。

如果您在.h 文件中声明了数组。这意味着每次包含头文件时,都会创建这些变量的新副本。如果它们未声明为static,则会导致编译错误。如果是static,那么每个副本都会占用内存。

要解决此问题,您可能希望将这些数组移动到不带关键字 static.c 文件中:

// inside .c file
const unsigned char PROGMEM font8[95][8] = 
    0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,0b00000000,
    ...

.h-file 中只对这些数组进行声明:

// inside .h file
extern const unsigned char PROGMEM font8[95][8];

(注意关键字extern

这允许您在每个 .c 文件中使用相同的数组副本,其中包含 .h

【讨论】:

【参考方案2】:

静态变量“已定义但未使用”已通过将其声明移至相关库的 .c 文件来解决。示例:

.c - 文件

static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;     

init_params()

     MENU_PAGE_TABLE_SRAM_BASE_OFFSET = (menu_page**) 0x1C00;

在哪里

static const volatile menu_page** MENU_PAGE_TABLE_SRAM_BASE_OFFSET;     

以前位于 .h 文件中

【讨论】:

以上是关于已定义但未用于整个项目的变量的主要内容,如果未能解决你的问题,请参考以下文章

UIStoryboard 中的自定义原型单元已创建,但未显示在 UITableView

ComboBox 已设置 DataSource 但未显示任何项目

使用编译器/链接器进行 C++ 代码清理

Kong v1.0.2 的自定义插件已启用但未安装

Intellij:“文件已提交”但未在 Github 中显示?

iOS 框架 - 已加载 nib 但未设置视图出口