This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

verticalgrain

I found the cause of the error.

Under the "Tools -> Boards" menu, there are TWO sections for the esp8266 - esp8266 Boards, and esp8266 Modules. Both show lists of boards - my board appeared in both lists. I had selected my board under Boards, when I had the error. When I change my selection to the Modules section, the error went away.

In file included from C:\Users\CLEMO\Documents\Arduino\libraries\ArduinoHttpClient\src/ArduinoHttpClient.h:8:0,

from C:\Users\CLEMO\Documents\Arduino\SoilMoisture3.ino\SoilMoisture3.ino.ino:3:

C:\Users\CLEMO\Documents\Arduino\libraries\ArduinoHttpClient\src/HttpClient.h:41:7: note: because the following virtual functions are pure within 'HttpClient':

class HttpClient : public Client

^

In file included from C:\Users\CLEMO\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta3\libraries\ESP8266WiFi\src/WiFiClient.h:27:0,

from C:\Users\CLEMO\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\2.5.0-beta3\libraries\ESP8266WiFi\src/ESP8266WiFi.h:39,
from C:\Users\CLEMO\Documents\Arduino\SoilMoisture3.ino\SoilMoisture3.ino.ino:2:

clemo

So A couple hours later of debugging I found the solution to my problem. It turns out the error was due to using the latest version of "ArduinoHttpClient.h" library so I just chose another older version.