The errors you were getting when you compiled was because if the libraries were extracted straight to the Arduino library folder from the .zip, the file path becomes too long for the compiler to find it.
So what you need to do is to create a new folder in the libraries folder for each library.
Note: you cannot do the standard libraryName\src\foo.cpp
as this seems to give errors for these libraries (in that it does not find them).
What you need to do is to make a file in the libraries
directory; for the zkemble one you can create a main folder called nRF905
, then take the files under nRF905/arduino/nRF905
from github and place them in the folder created earlier. It should look like this:

You should repeat this for the Elechouse one as well as it solved the problem too. i.e.
C:\\...\libraries\NRF\examples\
C:\\...\libraries\NRF\NRF905.cpp
C:\\...\libraries\NRF\NRF905.h
C:\\...\libraries\NRF\keywords.txt
Also of importance is that once you have the library from Elechouse compiling you need to open up the .cpp file and go to line 16, where there is
PROGMEM unsigned int freq_tab[10] = {
and to this add const
, like so:
PROGMEM const unsigned int freq_tab[10] = {