Stuck trying to use V-USB

I have managed to get it to compile with a bit of tinkering, but whether or not it works after what I have done I have no idea without properly studying the code (which at first glance appears that it was definitely not designed with Arduino in mind).

Part of the problem is that it is written in C not C++, and the compiler seems to be having a hissy fit with the files named .c - Don't know why, I'm not an expert. I have renamed them to .cpp and also changed all of the extern functions to be extern "C" which I believe tells the compiler to treat them as C functions - Again, not an expert.

I haven't got the hardware setup to test the modifications, but by all means try it out and see if it works. If not, V-USB are the best people to ask (or someone who knows C/C++ better - I have only been coding with C for 2 years).
http://www.railways-in-miniature.co.uk/electronics/arduino/usbdrv.zip