Those past days, I was trying to convert the above project into ArduinoIDE.
It was a bit tedious since I had to add files from the Sming framwork into the project.
I've finally got thru compile/linking errors and got a binary uploaded.
Unfortunately, at runtime, the ESP is been resetted by the watchdog when the function irrecv.enableIRIn(); is called.
I've started to debug, it seems the crash occurs inside this function when it is instanciate the Timer(), ie : irReadTimer.initializeUs(USECPERTICK, readIR).start();
Maybe this is due that ArduinoESP cores already using it, I'm not sure.
I will have to continue the investigation or rewriting it from scratch.