I would replace the #include lines with the EXACT contents of the include file and see what happens.
If it's based on GCC add -E to the command line and look at the files the preprocessor is spits out. This will show you what gets fed into the compiler propper
UPDATE: I made this post with list of solutions that solved this and other issues. I hope it helps others too. 
https://www.eevblog.com/forum/projects/solved-mplab-1)-slowno-variables-updates-2)-icd4-not-connecting-3)-others/msg3794567/#msg3794567
I'm afraid you did not. Unless there is some other EEVBlog, perhaps in a parallel universe. Perhaps you could check your links are provide working ones?
It was:
- Dropbox
- ToolPack update (it was showing it was in sync in the project properties window but the ICD4 firmware was not updating) and the ICD4 was not updating
- Issue in MPLB showing all array content as 0x00 (for at least a multi-dimensional array) when mouse hovering over the array and also in the Variables Watch window. That is during both debug mode and in simulator mode. Microchip has now added that as a bug. BUT in the Watch and Variables windows if you expand the array as far as you can then it shows the data. But you have to expand it all the way to single elements.
OK... glad I don't use Microchip MCUs anymore.
I don't use Microchips MCUs anymore, haven't for a few years now. But I did use them a lot before that.
Most of the time, I was not using MPLAB. Just building using makefiles, and some programming editor/IDE for editing the source code. Was not using debuggers either usually, but on occasion just MPLAB with ICD4. Those were not recent versions of MPLAB X at the time, though, so I don't know about the latest quirks.
Never used Segger IDE.