Ошибка компиляции на одном компьютере, но на другом все работает

Всем привет! У меня есть небольшая проблемаб, я сейчас нахожусь не дома, а записать скетч очень нужно , пробую скомпелилровать скетч на одном компьютере - все нормально, на другом компьютере выдает такую ошибку.

cannot convert ‘char [68]’ to ‘FirebaseConfig*’ {aka ‘firebase_cfg_t*’}

Кто может помочь? Как решить?

Без кода про ошибки не спрашивают

#include<Wire.h>
#include "FirebaseESP8266.h"
#include<ESP8266WiFi.h>

char FIREBASE_AUTH [] = "---"; // Your Firebase Web API Key
char FIREBASE_HOST [] = "---"; // Your Firebase Host URL
char WIFI_SSID [] = "jjj";     // Your WIFI SSID
char WIFI_PASSWORD [] = "12345678"; // Your WIFI Password




void setup() {
  Serial.begin(9600);
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}

void loop() {}

строчка Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
подсвечивается ошибкой

все библиотеки я подключил точно так же, но все равно не работает

Там должен указываться номер строки и номер символа

Arduino: 1.8.19 (Mac OS X), Плата:“NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200”

/Users/karim./Downloads/Firebase_Connect/Firebase_Connect.ino: In function ‘void setup()’:
Firebase_Connect:30:18: error: cannot convert ‘char [68]’ to ‘FirebaseConfig*’ {aka ‘firebase_cfg_t*’}
30 | Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
| ^~~~~~~~~~~~~
| |
| char [68]
In file included from /Users/karim./Documents/Arduino/libraries/Firebase-ESP8266-master/src/FirebaseESP8266.h:36,
from /Users/karim./Downloads/Firebase_Connect/Firebase_Connect.ino:2:
/Users/karim./Documents/Arduino/libraries/Firebase-ESP8266-master/src/Firebase.h:130:30: note: initializing argument 1 of ‘void FIREBASE_CLASS::begin(FirebaseConfig*, FirebaseAuth*)’
130 | void begin(FirebaseConfig config, FirebaseAuth auth);
| ~~~~~~~~~~~~^~
Несколько библиотек найдено для “SD.h”
Используется: /Users/karim./Library/Arduino15/packages/esp8266/hardware/esp8266/3.1.2/libraries/SD
Не используется: /private/var/folders/ld/ngrwg5jn1f1frcd2nczrlzgc0000gn/T/AppTranslocation/D767AF17-B574-47EF-B67A-00873404D42D/d/Arduino.app/Contents/Java/libraries/SD
exit status 1
cannot convert ‘char [68]’ to 'FirebaseConfig
’ {aka 'firebase_cfg_t
’}

Этот отчёт будет иметь больше информации с
включенной опцией Файл → Настройки →
“Показать подробный вывод во время компиляции”

Ссылается на FIREBASE_HOST. Может при копипасте какой лишний символ затесался?

еще думаю важное уточнение, компьютер, на котором работает установленна windows, а на котором не работает- macOS

Этот метод ждет ссылок на конфиг и тип авторизации, а вы ему зачем хост и пароль в виде строк подсовываете.
Откройте файл Firebase.h и посмотрите, что за тип FirebaseConfig

в инструкции к скетчу указывается, что необходимо указать эти данные

Ну раз в инструкции… значит должно работать:)

1 лайк

Я его, похоже, удалил. У него было 2 ника на одном IP, я хотел один удалить, а похоже грохнул оба. А как восстановить нинаю, теперь тока Алехандро ждать. :slight_smile:

вроде не удалили

для виндовс этот скетч точно скомпилируется, адрес библиотеки внутри, она универсальная


/**
 * Created by K. Suwatchai (Mobizt)
 *
 * Email: k_suwatchai@hotmail.com
 *
 * Github: https://github.com/mobizt/Firebase-ESP-Client
 *
 * Copyright (c) 2023 mobizt
 *
 */

/** This example will show how to authenticate using
 * the legacy token or database secret with the new APIs (using config and auth data).
 */
#include <Arduino.h>
#if defined(ESP32) || defined(ARDUINO_RASPBERRY_PI_PICO_W)
#include <WiFi.h>
#elif defined(ESP8266)
#include <ESP8266WiFi.h>
#endif

#include <Firebase_ESP_Client.h>

// Provide the RTDB payload printing info and other helper functions.
#include <addons/RTDBHelper.h>

/* 1. Define the WiFi credentials */
#define WIFI_SSID "WIFI_AP"
#define WIFI_PASSWORD "WIFI_PASSWORD"

/* 2. If work with RTDB, define the RTDB URL and database secret */
#define DATABASE_URL "URL" //<databaseName>.firebaseio.com or <databaseName>.<region>.firebasedatabase.app
#define DATABASE_SECRET "DATABASE_SECRET"

/* 3. Define the Firebase Data object */
FirebaseData fbdo;

/* 4, Define the FirebaseAuth data for authentication data */
FirebaseAuth auth;

/* Define the FirebaseConfig data for config data */
FirebaseConfig config;

unsigned long dataMillis = 0;
int count = 0;

#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
WiFiMulti multi;
#endif

void setup()
{

    Serial.begin(115200);

#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
    multi.addAP(WIFI_SSID, WIFI_PASSWORD);
    multi.run();
#else
    WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
#endif

    Serial.print("Connecting to Wi-Fi");
    unsigned long ms = millis();
    while (WiFi.status() != WL_CONNECTED)
    {
        Serial.print(".");
        delay(300);
#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
        if (millis() - ms > 10000)
            break;
#endif
    }
    Serial.println();
    Serial.print("Connected with IP: ");
    Serial.println(WiFi.localIP());
    Serial.println();

    Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);

    /* Assign the certificate file (optional) */
    // config.cert.file = "/cert.cer";
    // config.cert.file_storage = StorageType::FLASH;

    /* Assign the database URL and database secret(required) */
    config.database_url = DATABASE_URL;
    config.signer.tokens.legacy_token = DATABASE_SECRET;

    // The WiFi credentials are required for Pico W
    // due to it does not have reconnect feature.
#if defined(ARDUINO_RASPBERRY_PI_PICO_W)
    config.wifi.clearAP();
    config.wifi.addAP(WIFI_SSID, WIFI_PASSWORD);
#endif

    Firebase.reconnectWiFi(true);

    /* Initialize the library with the Firebase authen and config */
    Firebase.begin(&config, &auth);

    // Or use legacy authenticate method
    // Firebase.begin(DATABASE_URL, DATABASE_SECRET);
}

void loop()
{
    if (millis() - dataMillis > 5000)
    {
        dataMillis = millis();
        Serial.printf("Set int... %s\n", Firebase.RTDB.setInt(&fbdo, "/test/int", count++) ? "ok" : fbdo.errorReason().c_str());
    }
}

ну и храшо

А у меня ник на каком ИП?

Это к чему бы?

подумалось, что негоже баянисту шоркать на предмет актуального ИП, подкинул ссылку