Saat anda menjalankan kode ini
#include <WiFi.h> // Library wajib untuk ESP32
const char* ssid = "NAMASSIDWIFI";
const char* password = "passwordwifi";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Menghubungkan");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nTerhubung!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
Muncul error
/home/rezaervani/.arduino15/packages/esp32/tools/esp-x32/2507/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: /home/rezaervani/.cache/arduino/cores/6983e18bc459fb7385d8bc1e48a75223/core.a(main.cpp.o):(.literal._Z8loopTaskPv+0x10): undefined reference to `_Z4loopv'
/home/rezaervani/.arduino15/packages/esp32/tools/esp-x32/2507/bin/../lib/gcc/xtensa-esp-elf/14.2.0/../../../../xtensa-esp-elf/bin/ld: /home/rezaervani/.cache/arduino/cores/6983e18bc459fb7385d8bc1e48a75223/core.a(main.cpp.o): in function `_Z8loopTaskPv':
/home/rezaervani/.arduino15/packages/esp32/hardware/esp32/3.3.3/cores/esp32/main.cpp:79:(.text._Z8loopTaskPv+0x47): undefined reference to `_Z4loopv'
collect2: error: ld returned 1 exit status
exit status 1
Compilation error: exit status 1
Error ini muncul karena dalam pemrograman Arduino/ESP32, fungsi loop() wajib ada, meskipun Anda tidak memasukkan perintah apa pun di dalamnya.
Pesan undefined reference to _Z4loopv adalah bahasa teknis compiler yang artinya: “Saya mencari fungsi bernama loop, tapi tidak menemukannya.”
Solusi
Cukup tambahkan blok void loop() {} di bagian bawah kode Anda. Berikut adalah kode lengkap yang sudah diperbaiki (termasuk library WiFi yang tadi sempat tertinggal)
#include <WiFi.h>
const char* ssid = "NAMASSIDWIFI";
const char* password = "passwordwifi";
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
Serial.print("Menghubungkan");
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println("\nTerhubung!");
Serial.print("IP Address: ");
Serial.println(WiFi.localIP());
}
// Tambahkan ini agar tidak error saat di-compile
void loop() {
// Kosongkan saja jika tidak ada perintah yang dijalankan berulang
}
Mengapa ini terjadi?
Struktur dasar sketch Arduino selalu terdiri dari dua bagian utama:
setup(): Berjalan satu kali saat ESP32 pertama kali menyala.loop(): Berjalan terus-menerus (berulang) selama ESP32 menyala.
Jika salah satu tidak ada, proses linking (penyambungan kode) akan gagal dan memunculkan error exit status 1.
Apakah kode ini sudah berhasil di-upload ke ESP32 Anda? Jika sudah, Anda bisa mengecek hasilnya di Serial Monitor (pastikan kecepatannya disetel ke 115200 baud).
