Error loco de compilacion, alguna explicacion?

estoy probando una libreria MenuBackend para crear menu, alternativa a la FSM de igor que no le entiendo del todo.
[MenuBackend](GitHub - WiringProject/Wiring: Wiring Framework … enuBackend)

Si la compilo en el IDE 1.05 lo hace sin error.

si lo uso en el IDE Uecide.org me da un error
C:\Users\Maxi\Documents\UECIDE\pruebaMenu\pruebaMenu.ino:21: error: ‘menuUseEvent’ was not declared in this scope
C:\Users\Maxi\Documents\UECIDE\pruebaMenu\pruebaMenu.ino:21: error: ‘menuChangeEvent’ was not declared in this scope

Como que no encuetra declarada la funcion menuUseEvent, que está al final, si la subo antes de la declaracion me da otro error que no encuentra otra cosa.

No entiendo porque en un ide anda y en el otro no. (todavia no tengo respuesta del creador del otro ide)

Creo que es algo del compilador de como lo implementan. Instalé MariaMole y hace el mismo error

Hola. Tal vez sea el compilador, que no busca "hacia adelante" las funciones (el del IDE sí debe hacerlo). Si las pones delante, igual en éstas se hace referencia a algo que ahora está detrás, osea la pescadilla que se muerde la cola. Prueba dejando las funciones donde están, pero declarando su prototipo al principio del código; es decir, copia y pega la línea de definición, sin la llave, pero con punto y coma tras el cierre de paréntesis. Digamos que es un aviso para que sepa que existe la función, pero que se va a definir después.

EDITO: Tal que así: void menuUseEvent(MenuUseEvent used);

Si me explicaron que el ide pone los prototipos de funciones al final y otro ide al principio cuando lee el fuente. Por eso la falla. Si los declaro manualmente antes de usarlos se compone. Es una maña de C