Hi, Made a small .ino, but I cannot reproduce my problem. Something about Eclipse+Sloeber, perhaps. Sob and sniff. Meanwhile, thanks for the suggestions from the respondents. I shall continue to try and solve the problem.
Also the error I reported exists without running running setHandleProgramChange; the error occurs with just the presence of usb_midi_handleProgramChange = fptr. Almost as if the linker is putting this function in some wrong place.
1. usbMIDI.setHandleProgramChange(mProgramChange); mProgramChange points at a correct and present function.
2. extern void (*usb_midi_handleProgramChange)(uint8_t ch, uint8_t program);
3.
if (usb_midi_handleProgramChange)...