Closed soweliniko closed 4 years ago
Seems to be an issue with avr-gcc 10, which we avoid in the install scripts by forcing 8.3 https://github.com/qmk/qmk_firmware/blob/master/util/linux_install.sh#L80.
Changing where display is created allows the build to pass (however ive not tested this at runtime)
diff --git a/keyboards/crkbd/ssd1306.c b/keyboards/crkbd/ssd1306.c
index 20c2738db..ea91ab129 100644
--- a/keyboards/crkbd/ssd1306.c
+++ b/keyboards/crkbd/ssd1306.c
@@ -13,6 +13,8 @@
#include "sendchar.h"
#include "timer.h"
+struct CharacterMatrix display;
+
extern const unsigned char font[] PROGMEM;
// Set this to 1 to help diagnose early startup problems
diff --git a/keyboards/crkbd/ssd1306.h b/keyboards/crkbd/ssd1306.h
index ea8c92328..8b83085d0 100644
--- a/keyboards/crkbd/ssd1306.h
+++ b/keyboards/crkbd/ssd1306.h
@@ -66,7 +66,7 @@ struct CharacterMatrix {
bool dirty;
};
-struct CharacterMatrix display;
+extern struct CharacterMatrix display;
bool iota_gfx_init(bool rotate);
void iota_gfx_task(void);
Describe the Bug
When I try and build the crkbd default firmware (
make crkbd:default
) it will not link, giving me this error:This does not happen with other crkbd keymaps, nor with firmware for other keyboards.
System Information