compiling code error: "undefined reference to `analogReference'"

i get the following error code when compiling in the IDE:

Arduino: 1.6.8 (Windows 7), Board: "SparkFun ESP8266 Thing, 80 MHz, 115200"

libraries\LinxESP8266\utility\LinxWiringDevice.cpp.o: In function `LinxWiringDevice::UartWrite(unsigned char, unsigned char, unsigned char*)':

C:\Users\Martin\Documents\Arduino\libraries\LinxESP8266\utility/LinxWiringDevice.cpp:366: undefined reference to `analogReference'

libraries\LinxESP8266\utility\LinxWiringDevice.cpp.o: In function `LinxWiringDevice::AnalogSetRef(unsigned char, unsigned long)':

C:\Users\Martin\Documents\Arduino\libraries\LinxESP8266\utility/LinxWiringDevice.cpp:366: undefined reference to `analogReference'

C:\Users\Martin\Documents\Arduino\libraries\LinxESP8266\utility/LinxWiringDevice.cpp:366: undefined reference to `analogReference'

collect2.exe: error: ld returned 1 exit status

exit status 1
Fehler beim Kompilieren für das Board SparkFun ESP8266 Thing.

Here is the code of LinxWiringDevice.cpp:

/****************************************************************************************
**  LINX - Wiring compatible device code
**
**  For more information see:           www.labviewmakerhub.com/linx
**  For support visit the forums at:    www.labviewmakerhub.com/forums/linx
**  
**  Written By Sam Kristoff
**
** BSD2 License.
****************************************************************************************/	

/****************************************************************************************
**  Defines
****************************************************************************************/		

/****************************************************************************************
**  Includes
****************************************************************************************/	
#include "LinxDevice.h"
#include "LinxWiringDevice.h"

#include <C:\Program Files (x86)\Arduino\hardware\arduino\avr\cores\arduino\Arduino.h>

#include <SPI.h>
#include <Wire.h>
#include <EEPROM.h>
#include <Servo.h>

/****************************************************************************************
**  Variables
****************************************************************************************/		

/****************************************************************************************
**  Constructors / Destructors 
****************************************************************************************/
LinxWiringDevice::LinxWiringDevice()
{
	//LINX API Version
	LinxApiMajor = 1;
	LinxApiMinor = 2;
	LinxApiSubminor = 0;
	
	//Load User Config Data From Non Volatile Storage
	userId = NonVolatileRead(NVS_USERID) << 8 | NonVolatileRead(NVS_USERID + 1);
	
}


/****************************************************************************************
**  Functions
****************************************************************************************/

void LinxWiringDevice::DelayMs(unsigned long ms)
{
	delay(ms);
} 

unsigned long LinxWiringDevice::GetMilliSeconds()
{
	return millis();
}

unsigned long LinxWiringDevice::GetSeconds()
{
	return (millis() / 1000);
}

//--------------------------------------------------------ANALOG-------------------------------------------------------

int LinxWiringDevice::AnalogRead(unsigned char numPins, unsigned char* pins, unsigned char* values)
{
	unsigned int analogValue = 0;
	unsigned char responseByteOffset = 0;
	unsigned char responseBitsRemaining = 8; 
	unsigned char dataBitsRemaining = AiResolution;
  
	values[responseByteOffset] = 0x00;    //Clear First	Response Byte   

	//Loop Over All AI Pins In Command Packet
	for(int i=0; i<numPins; i++)
	{
		analogValue = analogRead(pins[i]);	
		
		dataBitsRemaining = AiResolution;

		//Byte Packet AI Values In Response Packet
		while(dataBitsRemaining > 0)
		{
			*(values+responseByteOffset) |= ( (analogValue>>(AiResolution - dataBitsRemaining)) << (8 - responseBitsRemaining) );
			//*(values+responseByteOffset) = 69;

			if(responseBitsRemaining > dataBitsRemaining)
			{
				//Current Byte Still Has Empty Bits
				responseBitsRemaining -= dataBitsRemaining;
				dataBitsRemaining = 0;
			}
			else
			{
				//Current Byte Full
				dataBitsRemaining = dataBitsRemaining - responseBitsRemaining;
				responseByteOffset++;
				responseBitsRemaining = 8;
				values[responseByteOffset] = 0x00;    //Clear Next Response Byte     
			}
		}
	}
	
	return L_OK;
}

int LinxWiringDevice::AnalogSetRef(unsigned char mode, unsigned long voltage)
{
	switch(mode)
	{
		case 0: //Default
			analogReference(DEFAULT);
			AiRefSet = AiRefDefault;
			break;
		case 1: //Internal
			if(NumAiRefIntVals > 0)
			{
				//Check If Internal AI Ref Value Is Supported
				for(int i=0; i<NumAiRefIntVals; i++)
				{				
					//Voltage Is Supported
					if(AiRefIntVals[i] == voltage)
					{
						analogReference(AiRefCodes[i]);
						AiRefSet = voltage;
						return L_OK;
					}
				}
				//Didn't Find Voltage
				return LANALOG_REF_VAL_ERROR;
			}
			else
			{
				//No Internal Voltages, So Internal Mode Not Supported
				return LANALOG_REF_MODE_ERROR;
			}			
			break;
		case 2: //External
			if(voltage >= AiRefExtMin && voltage <= AiRefExtMax)
			{
				analogReference(EXTERNAL);
				AiRefSet = voltage;
				return L_OK;
			}
			else
			{
				return LANALOG_REF_VAL_ERROR;
			}
			break;
		default:
			return LANALOG_REF_MODE_ERROR;
			break;	
	}
	return L_OK;
}

its not the full code it was to long. I attached the file instead. By Google I know so far that analogReference has something to do with Arduino.h so I tried to add the full path and tried to copy it to the My Documents/Arduino folder. I am new to Arduino and hope its not a simple question

LinxWiringDevice.cpp (17.2 KB)

Not all boards support analogReference(). Does yours?