รบกวนช่วยดู ทำไม Error compiling ให้หน่อยครับ

`Arduino: 1.8.13 (Windows 8.1), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Legacy (new can return nullptr), All SSL ciphers (most compatible), 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"`





















C:\Users\WINDOWS 8.1Pro\AppData\Local\Arduino15\packages\esp8266\tools\xtensa-lx106-elf-gcc\2.5.0-4-b40a506/bin/xtensa-lx106-elf-ar: unable to rename 'core\core.a'; reason: File exists

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).



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

#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

#include <DHT.h> //DHT 11

#include <Wire.h>
#include <LiquidCrystal_I2C.h> // Lcd i2c

#define DHTPIN D3          // ขาเซ็นเซอร์อุณหภูมิและความชื้น อากาศ
#define DHTTYPE DHT11      // ตั้งค่าอุปกรณ์ DHT 11

LiquidCrystal_I2C lcd(0x27, 16, 2);   // ขา D1/D2


DHT dht(DHTPIN, DHTTYPE); //DHT 11

BlynkTimer timer;
 
char auth[] = "CNEni_"; 
char ssid[] = "tr";
char pass[] = "KS";

int TemValue;    //ประกาศตัวแปลเก็บค่าจาก Blynk
int HumValue;    //ประกาศตัวแปลเก็บค่าจาก Blynk
int Siol1Value;  //ประกาศตัวแปลเก็บค่าจาก Blynk
int relayx;

int Siol1  = A0; // ขาเชื่อมต่อ เซ็นเซอร์ความชื้นดิน

int relay1 = D4; // ขาเชื่อมต่อรีเลย์ อุณหภูมิอากาศ
int relay2 = D5; // ขาเชื่อมต่อรีเลย์ ความชื้นอากาศ
int relay3 = D6; // ขาเชื่อมต่อรีเลย์ ความชื้นดิน
int relay4 = D7; // ขาเชื่อมต่อรีเลย์ อุณหภูมิดิน
//---------------------------------------------------------------------------//

void sendSensor()
{
  float h = dht.readHumidity();
  float t = dht.readTemperature(); 
  int Tem = t;
  int Hum = h; 
                                  
  int siolx;
  int s = analogRead(Siol1);
      s = map(s, 0, 1023, 0, 100);
  siolx = 100-s;

  //------------------------------ แสดงผล จอ Liq------------------------------//
  
   LiquidCrystal_I2C lcd(0x27, 16, 2); //เลือก Address จอ LCD ที่จะเขียนข้อความ
   lcd.begin();
  
   lcd.setCursor(0, 0); 
   lcd.print("T"); 
   lcd.setCursor(1, 0); 
   lcd.print(Tem); 
  
   lcd.setCursor(4, 0); 
   lcd.print("t"); 
   lcd.setCursor(5, 0); 
   lcd.print(TemValue); 

   //lcd.setCursor(8, 0); 
   //lcd.print("Farm iot"); 

   
   lcd.setCursor(0, 1); 
   lcd.print("H"); 
   lcd.setCursor(1, 1); 
   lcd.print(Hum); 
   
   lcd.setCursor(4, 1); 
   lcd.print("h"); 
   lcd.setCursor(5, 1); 
   lcd.print(HumValue); 

   lcd.setCursor(8, 1); 
   lcd.print("s");
   lcd.setCursor(9, 1); 
   lcd.print(siolx);
   lcd.setCursor(11, 1); 
   lcd.print("%");

   lcd.setCursor(13, 1); 
   lcd.print(Siol1Value);
   lcd.setCursor(15, 1); 
   lcd.print("%"); 

   //--------------------------------------------------------------//
       Blynk.virtualWrite(V5, t);      // ส่งข้อมูลไปยัง VirtualPin V5
       Blynk.virtualWrite(V6, h);      // ส่งข้อมูลไปยัง VirtualPin V6
       Blynk.virtualWrite(V7, siolx);  // ส่งข้อมูลไปยัง VirtualPin V7 
   //--------------------------------------------------------------//
     if(Tem >= TemValue) // เงือนไขตรวจสอบ อุณหภูมิ อากาศ
       { 
        digitalWrite(relay1,0);
       }
       else
       {
        digitalWrite(relay1,1);
       }
   //--------------------------------------------------------------//
     if(Hum >= HumValue) // เงื่อนไขตรวจสอบ ความชื้น อากาศ
       {  
        digitalWrite(relay2,0);
       }
       else
       {      
        digitalWrite(relay2,1);
       }
   //--------------------------------------------------------------//
     if(siolx <= Siol1Value) // เงื่อนไขตรวจสอบ ความชื้น ของดิน
       {     
        digitalWrite(relay3,0);
       }
       else
       {      
        digitalWrite(relay3,1);
       }
   //-------------------------------------------------------------//
    if(relayx == 1) // เงื่อนไขตรวจสอบ การทำงาน relay4
       {     
        digitalWrite(relay4,0);
        lcd.setCursor(8, 0); 
        lcd.print("Sw4 on");
       }
       else
       {      
        digitalWrite(relay4,1);
        lcd.setCursor(8, 0); 
        lcd.print("Sw4 off");
       }
}
   //-------------------------------------------------------------// 

void setup()
{
     Serial.begin(9600);
     
     Blynk.begin(auth, ssid, pass);

     pinMode(Siol1,INPUT);  
     
     pinMode(relay1,OUTPUT);
     pinMode(relay2,OUTPUT);
     pinMode(relay3,OUTPUT);
     pinMode(relay4,OUTPUT);

     lcd.begin();
     lcd.backlight();
     
     dht.begin();
  
     timer.setInterval(1000L, sendSensor); 
}

//---------------------------------------------------------------//
BLYNK_WRITE(V15) // ประกาศใช้ Virtual V15 Blynk
{
   TemValue = param.asInt();// ประกาศค่าตัวแปล pinValue เก็บค่าจาก ปุ่ม Blynk
}
//--------------------------------------------------------------//

BLYNK_WRITE(V16) // ประกาศใช้ Virtual V16 Blynk
{
   HumValue = param.asInt();// เก็บค่าตัวแปล HumValue เก็บค่าจาก ปุ่ม Blynk
} 
//-------------------------------------------------------------//

BLYNK_WRITE(V17) // ประกาศใช้ Virtual V17 Blynk
{
   Siol1Value = param.asInt();// เก็บค่าตัวแปล Siol1Value เก็บค่าจาก ปุ่ม Blynk
} 
//------------------------------------------------------------//

BLYNK_WRITE(V18) // ประกาศใช้ Virtual V18 Blynk
{
   relayx = param.asInt();// เก็บค่าตัวแปล SiolTem เก็บค่าจาก ปุ่ม Blynk
} 
//-----------------------------------------------------------//
BLYNK_CONNECTED()
{
        Blynk.syncVirtual(V15);
        Blynk.syncVirtual(V16);
        Blynk.syncVirtual(V17);
        Blynk.syncVirtual(V18);
}
//-----------------------------------------------------------//

void loop()
{
  Blynk.run();
  timer.run(); Preformatted text

ขอดูโฟล์เดอร์ที่ติดตั้ง Arduino หน่อยอยู่ตรงไหน


ลงในนี้ครับแต่มีเปิดใช้ไฟล์ที่เซฟมาจาก Desktop ครับ

1.คลิก NEW สร้างไฟล์เปล่าขึ้นมาใหม่

ให้มีโค้ตแค่

void setup () {
}

void loop(){
}

2.กด VERIFY
3.ปิดไฟล์ทิ้งไป file
4.เปิดไฟล์เดิมขึ้นมาใหม่ กด VERIFY อีกครั้ง


ทำแล้วไม่หายครับ โค้ดขึ้นเหมือนเดิมเลยครับ


ผมลองเปลี่ยน Ver ล่าสุดมาใช้ตัว esp8266 V 2.7.2
ผลคือสามารถ Compilling ได้แล้วครับ ไม่รู้ว่าเป็นเพราะอะไรครับ

เยี่ยมมากครับแสดงว่า version ล่าสุดมีปัญหาอยู่

น่าจะใช้ครับ ความรู้เรื่องโปรแกรมผมก็ไม่มีเลย โชคดีที่แก้ได้