I was destined to get to be error free, so I struggled through compiling a version of usb loader that would work with the generic classic controllers and implemented a fix that was mentioned here: https://gbatemp.net/threads/how-can-i-compile-usb-loader-gx.169078/page-4 I just added post over there explaining how I compiled.
I am attaching the versions of things I modified, including the libwiiuse's classic.c file, the new compiled version of libwiiuse, and the compiled version of the usb loader that I am now running.
I am happy you are still around doing this stuff because I am very new to it. I didn't want to get sucked into figuring out how to compile this thing, but I really wanted to be able to easily use the controllers I have.
The actual fix is not really a fix, it is commenting out some code that is an edge case for other controller types. I don't know c, but it seems like it doesn't have a try/catch. If it did, that would totally be the better way to go to have the best of both worlds.
But since I have now invested 5 to 6 hours in this, I wanted to share so the next guy that stumbles around in a year or two will perhaps have things a little easier.
Cheers!
I also have an exception on latest build, when Classic Controller Pro is connected to Wiimote. I din't have this issue before.
My case is I start some GameCube game from UsbloaderGx and connect Classic controller, when I finish I click th Home button and Forwarder boots UsbloaderGx and on some loading step it throws an exception.