ESP8266 mit BME680 und BSEC Bibliothek

Hallo,

ich versuche gerade einen BME680 Sensor an einen ESP8266 anzuschließen.
Zum auslesen wollte ich die BSEC.h Bibliothek von Bosch verwenden.
Problem: Wenn ich die Bibliothek verwende bekomme ich einen Compilierfehler.

Habe wie in der Doku erklärt die Zeilen compiler.libraries.ldflags= und {compiler.libraries.ldflags} in platform.txt eingetragen, gespeichert, die IDE neu gestartet und bekomme trotzdem den Fehler.

Ich verwende die IDE 1.8.12 auf OSX 12.0.1 mit dem ESP8266 Core 3.0.2.

Hat jemand eine Idee wie ich das repariert bekomme?
Danke!

Wenn Du uns den Sketch und die Fehlermeldung in Codetags gibst, könnte Hilfe möglich sein.

Gruß Tommy

Klar, der Sketch ist der ganz normale "basic" Sketch der mit der Bibliothek kommt.

Der Fehler:

/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_ZN6StringD4Ev':
/Users/sam/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/WString.h:79: undefined reference to `_ZN4Bsec3runEx'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_Z20checkIaqSensorStatusv':
/Users/sam/Documents/Arduino/libraries/BSEC-Arduino-library-1.6.1480/examples/basic/basic.ino:84: undefined reference to `_ZN4Bsec3runEx'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `loop':
/Users/sam/Documents/Arduino/libraries/BSEC-Arduino-library-1.6.1480/examples/basic/basic.ino:53: undefined reference to `_ZN4Bsec8delay_msEj'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_ZN6StringD4Ev':
/Users/sam/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/WString.h:79: undefined reference to `_ZN4Bsec5beginEhR7TwoWirePFvjE'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: /Users/sam/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/WString.h:79: undefined reference to `_ZN4Bsec18updateSubscriptionEP21bsec_virtual_sensor_thf'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `loop':
/Users/sam/Documents/Arduino/libraries/BSEC-Arduino-library-1.6.1480/examples/basic/basic.ino:55: undefined reference to `_ZN4Bsec5beginEhR7TwoWirePFvjE'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_ZN6StringpLIS_EERS_RKT_':
/Users/sam/Library/Arduino15/packages/esp8266/hardware/esp8266/3.0.2/cores/esp8266/WString.h:134: undefined reference to `_ZN4Bsec18updateSubscriptionEP21bsec_virtual_sensor_thf'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_ZplIA2_cvE6StringOS1_RKT_':
/Users/sam/Documents/Arduino/libraries/BSEC-Arduino-library-1.6.1480/examples/basic/basic.ino:63: undefined reference to `_ZN4BsecC1Ev'
/Users/sam/Library/Arduino15/packages/esp8266/tools/xtensa-lx106-elf-gcc/3.0.4-gcc10.3-1757bed/bin/../lib/gcc/xtensa-lx106-elf/10.3.0/../../../../xtensa-lx106-elf/bin/ld: sketch/basic.ino.cpp.o: in function `_GLOBAL__sub_I_iaqSensor':
/Users/sam/Documents/Arduino/libraries/BSEC-Arduino-library-1.6.1480/examples/basic/basic.ino:65: undefined reference to `_ZN4BsecC1Ev'
collect2: error: ld returned 1 exit status
exit status 1
Fehler beim Kompilieren für das Board NodeMCU 1.0 (ESP-12E Module).

Das ist ein Linkerfehler. Da fehlen *.cpp-Dateien. Da hast Du was nicht richtig installiert.
Aber ohne Sketch könnte man nur raten und das bringt nix.

Gruß Tommy

Das hier ist der "basic" sketch aus der Bib:

#include "bsec.h"

// Helper functions declarations
void checkIaqSensorStatus(void);
void errLeds(void);

// Create an object of the class Bsec
Bsec iaqSensor;

String output;

// Entry point for the example
void setup(void)
{
  Serial.begin(115200);
  Wire.begin();

  iaqSensor.begin(BME680_I2C_ADDR_PRIMARY, Wire);
  output = "\nBSEC library version " + String(iaqSensor.version.major) + "." + String(iaqSensor.version.minor) + "." + String(iaqSensor.version.major_bugfix) + "." + String(iaqSensor.version.minor_bugfix);
  Serial.println(output);
  checkIaqSensorStatus();

  bsec_virtual_sensor_t sensorList[10] = {
    BSEC_OUTPUT_RAW_TEMPERATURE,
    BSEC_OUTPUT_RAW_PRESSURE,
    BSEC_OUTPUT_RAW_HUMIDITY,
    BSEC_OUTPUT_RAW_GAS,
    BSEC_OUTPUT_IAQ,
    BSEC_OUTPUT_STATIC_IAQ,
    BSEC_OUTPUT_CO2_EQUIVALENT,
    BSEC_OUTPUT_BREATH_VOC_EQUIVALENT,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_TEMPERATURE,
    BSEC_OUTPUT_SENSOR_HEAT_COMPENSATED_HUMIDITY,
  };

  iaqSensor.updateSubscription(sensorList, 10, BSEC_SAMPLE_RATE_LP);
  checkIaqSensorStatus();

  // Print the header
  output = "Timestamp [ms], raw temperature [°C], pressure [hPa], raw relative humidity [%], gas [Ohm], IAQ, IAQ accuracy, temperature [°C], relative humidity [%], Static IAQ, CO2 equivalent, breath VOC equivalent";
  Serial.println(output);
}

// Function that is looped forever
void loop(void)
{
  unsigned long time_trigger = millis();
  if (iaqSensor.run()) { // If new data is available
    output = String(time_trigger);
    output += ", " + String(iaqSensor.rawTemperature);
    output += ", " + String(iaqSensor.pressure);
    output += ", " + String(iaqSensor.rawHumidity);
    output += ", " + String(iaqSensor.gasResistance);
    output += ", " + String(iaqSensor.iaq);
    output += ", " + String(iaqSensor.iaqAccuracy);
    output += ", " + String(iaqSensor.temperature);
    output += ", " + String(iaqSensor.humidity);
    output += ", " + String(iaqSensor.staticIaq);
    output += ", " + String(iaqSensor.co2Equivalent);
    output += ", " + String(iaqSensor.breathVocEquivalent);
    Serial.println(output);
  } else {
    checkIaqSensorStatus();
  }
}

// Helper function definitions
void checkIaqSensorStatus(void)
{
  if (iaqSensor.status != BSEC_OK) {
    if (iaqSensor.status < BSEC_OK) {
      output = "BSEC error code : " + String(iaqSensor.status);
      Serial.println(output);
      for (;;)
        errLeds(); /* Halt in case of failure */
    } else {
      output = "BSEC warning code : " + String(iaqSensor.status);
      Serial.println(output);
    }
  }

  if (iaqSensor.bme680Status != BME680_OK) {
    if (iaqSensor.bme680Status < BME680_OK) {
      output = "BME680 error code : " + String(iaqSensor.bme680Status);
      Serial.println(output);
      for (;;)
        errLeds(); /* Halt in case of failure */
    } else {
      output = "BME680 warning code : " + String(iaqSensor.bme680Status);
      Serial.println(output);
    }
  }
}

void errLeds(void)
{
  pinMode(LED_BUILTIN, OUTPUT);
  digitalWrite(LED_BUILTIN, HIGH);
  delay(100);
  digitalWrite(LED_BUILTIN, LOW);
  delay(100);
}

Gehe auf https://github.com/BoschSensortec/BSEC-Arduino-library
Dort clicke auf das grüne code.
Downloade das .zip.
Dann gehe in die Arduino-IDE und klicke auf SKETCH - BIBLIOTHEK einbinden - ZIP-Bibliothek einbinden
Wähle den Downloadordner binde die Bibliothek ein.

Bekommst Du eine Fehlermeldung, das da schon was vorhanden ist, lösche es.

Hab ich schon versucht, genau der gleiche Fehler.

Auch Zeile 105 geändert?: https://github.com/BoschSensortec/BSEC-Arduino-library#esp8266-community-forums-esp8266-core

Ja. Habs gerade nochmal auf nem anderen PC versucht, aber genau das gleiche Problem:

  1. Bibliothek versucht als .zip von Github sowie über den Bibliothekenmanager installiert
  2. Die platform.txt an zwei Stellen modifiziert
  3. Gespeichert, IDE neu gestartet und den "basic" Beispielsketch versucht.

Ich bekomme immer diese Fehlermeldung.

Es tut mir wirklich leid, da ich keinen ESP habe kann ich das nicht nachbauen.
Ich würde noch versuchen, die IDE auf mindestens .13 zu aktuallisieren (oder als .13 portable zu bauen) und dann ggfls. den ESP-Core auf Ver 2.5.1 setzen.

Ansonsten ...
Vielleicht gibt es morgen jemanden beim Frühstück, dem dann noch was einfällt...

Ich bekomme mit 1.8.13 linkerfehler wegen bsec_init() auch bei Arduino, daher habe ich die Plattform.txt Änderung für ESP8266 erst gar nicht probiert.
Dann habe ich es gelassen und alles wieder gelöscht.
Mein Rat: Gehe auf die akutelleste Arduino Version, probier es noch mal, und wenns dann noch immer nicht geht, melde denen einen Issue auf Github.

Compiliert fürn MEGA in der 1.8.15 das Beispiel basic:

Der Sketch verwendet 61320 Bytes (24%) des Programmspeicherplatzes. Das Maximum sind 253952 Bytes.
Globale Variablen verwenden 3485 Bytes (42%) des dynamischen Speichers, 4707 Bytes für lokale Variablen verbleiben. Das Maximum sind 8192 Bytes.

die anderen Beispiele mpüssen teile für den eeprom geändert werden ich blos das .begin und .commit auskommentiert und die kompilieren auch.

könnt ja schaun, was verwendet wird:

/arduino-1.8.15/arduino-builder -dump-prefs -logger=machine -hardware /arduino-1.8.15/hardware -hardware /.arduino15/packages -hardware /Arduino/hardware -tools /arduino-1.8.15/tools-builder -tools /arduino-1.8.15/hardware/tools/avr -tools /.arduino15/packages -built-in-libraries /arduino-1.8.15/libraries -libraries /Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=2341_0042 -ide-version=10815 -build-path /tmp/arduino_build_712576 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=/arduino-1.8.15/hardware/tools/avr -verbose /Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino
/arduino-1.8.15/arduino-builder -compile -logger=machine -hardware /arduino-1.8.15/hardware -hardware /.arduino15/packages -hardware /Arduino/hardware -tools /arduino-1.8.15/tools-builder -tools /arduino-1.8.15/hardware/tools/avr -tools /.arduino15/packages -built-in-libraries /arduino-1.8.15/libraries -libraries /Arduino/libraries -fqbn=arduino:avr:mega:cpu=atmega2560 -vid-pid=2341_0042 -ide-version=10815 -build-path /tmp/arduino_build_712576 -warnings=all -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.avrdude.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avr-gcc.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.arduinoOTA.path=/arduino-1.8.15/hardware/tools/avr -prefs=runtime.tools.arduinoOTA-1.3.0.path=/arduino-1.8.15/hardware/tools/avr -verbose /Arduino/libraries/BSEC-Arduino-library-master/examples/basic/basic.ino
Using board 'mega' from platform in folder: /arduino-1.8.15/hardware/arduino/avr
Using core 'arduino' from platform in folder: /arduino-1.8.15/hardware/arduino/avr
Detecting libraries used...
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /dev/null
Alternatives for bsec.h: [BSEC-Arduino-library-master@1.6.1480]
ResolveLibrary(bsec.h)
  -> candidates: [BSEC-Arduino-library-master@1.6.1480]
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega -I/Arduino/libraries/BSEC-Arduino-library-master/src /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /dev/null
Alternatives for Wire.h: [Wire@1.0]
ResolveLibrary(Wire.h)
  -> candidates: [Wire@1.0]
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega -I/Arduino/libraries/BSEC-Arduino-library-master/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /dev/null
Alternatives for SPI.h: [SPI@1.0]
ResolveLibrary(SPI.h)
  -> candidates: [SPI@1.0]
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega -I/Arduino/libraries/BSEC-Arduino-library-master/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/SPI/src /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /dev/null
Using cached library dependencies for file: /Arduino/libraries/BSEC-Arduino-library-master/src/bme680/bme680.c
Using cached library dependencies for file: /Arduino/libraries/BSEC-Arduino-library-master/src/bsec.cpp
Using cached library dependencies for file: /arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src/Wire.cpp
Using cached library dependencies for file: /arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src/utility/twi.c
Using cached library dependencies for file: /arduino-1.8.15/hardware/arduino/avr/libraries/SPI/src/SPI.cpp
Generating function prototypes...
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -flto -w -x c++ -E -CC -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega -I/Arduino/libraries/BSEC-Arduino-library-master/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/SPI/src /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /tmp/arduino_build_712576/preproc/ctags_target_for_gcc_minus_e.cpp
/arduino-1.8.15/tools-builder/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_712576/preproc/ctags_target_for_gcc_minus_e.cpp
Sketch wird kompiliert...
/arduino-1.8.15/hardware/tools/avr/bin/avr-g++ -c -g -Os -Wall -Wextra -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega2560 -DF_CPU=16000000L -DARDUINO=10815 -DARDUINO_AVR_MEGA2560 -DARDUINO_ARCH_AVR -I/arduino-1.8.15/hardware/arduino/avr/cores/arduino -I/arduino-1.8.15/hardware/arduino/avr/variants/mega -I/Arduino/libraries/BSEC-Arduino-library-master/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/Wire/src -I/arduino-1.8.15/hardware/arduino/avr/libraries/SPI/src /tmp/arduino_build_712576/sketch/basic.ino.cpp -o /tmp/arduino_build_712576/sketch/basic.ino.cpp.o
Compiling libraries...
Compiling library "BSEC-Arduino-library-master"
Library BSEC-Arduino-library-master has been declared precompiled:
Using precompiled library in /Arduino/libraries/BSEC-Arduino-library-master/src/atmega2560
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/BSEC-Arduino-library-master/bsec.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/BSEC-Arduino-library-master/bme680/bme680.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/BSEC-Arduino-library-master/BSEC-Arduino-library-master.a
Compiling library "Wire"
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/Wire/Wire.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/Wire/utility/twi.c.o
Compiling library "SPI"
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/libraries/SPI/SPI.cpp.o
Compiling core...
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring_pulse.S.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring_analog.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/WInterrupts.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring_shift.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring_digital.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/wiring_pulse.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/hooks.c.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/CDC.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/HardwareSerial.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/HardwareSerial0.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/HardwareSerial1.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/IPAddress.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/HardwareSerial2.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/Print.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/HardwareSerial3.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/Stream.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/PluggableUSB.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/WMath.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/Tone.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/WString.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/USBCore.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/new.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/abi.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/main.cpp.o
Zuvor kompilierte Datei wird verwendet: /tmp/arduino_build_712576/core/core.a
Linking everything together...
/arduino-1.8.15/hardware/tools/avr/bin/avr-gcc -Wall -Wextra -Os -g -flto -fuse-linker-plugin -Wl,--gc-sections -mmcu=atmega2560 -o /tmp/arduino_build_712576/basic.ino.elf /tmp/arduino_build_712576/sketch/basic.ino.cpp.o /tmp/arduino_build_712576/libraries/BSEC-Arduino-library-master/BSEC-Arduino-library-master.a /tmp/arduino_build_712576/libraries/Wire/Wire.cpp.o /tmp/arduino_build_712576/libraries/Wire/utility/twi.c.o /tmp/arduino_build_712576/libraries/SPI/SPI.cpp.o -L/Arduino/libraries/BSEC-Arduino-library-master/src/atmega2560 -lalgobsec -lalgobsec /tmp/arduino_build_712576/core/core.a -L/tmp/arduino_build_712576 -lm
/arduino-1.8.15/hardware/tools/avr/bin/avr-objcopy -O ihex -j .eeprom --set-section-flags=.eeprom=alloc,load --no-change-warnings --change-section-lma .eeprom=0 /tmp/arduino_build_712576/basic.ino.elf /tmp/arduino_build_712576/basic.ino.eep
/arduino-1.8.15/hardware/tools/avr/bin/avr-objcopy -O ihex -R .eeprom /tmp/arduino_build_712576/basic.ino.elf /tmp/arduino_build_712576/basic.ino.hex
Bibliothek BSEC-Arduino-library-master in Version 1.6.1480 im Ordner: /Arduino/libraries/BSEC-Arduino-library-master  wird verwendet
Bibliothek Wire in Version 1.0 im Ordner: /arduino-1.8.15/hardware/arduino/avr/libraries/Wire  wird verwendet
Bibliothek SPI in Version 1.0 im Ordner: /arduino-1.8.15/hardware/arduino/avr/libraries/SPI  wird verwendet
/arduino-1.8.15/hardware/tools/avr/bin/avr-size -A /tmp/arduino_build_712576/basic.ino.elf

Bei mir funktioniert es.
(IDE 1.8.15 D1 Mini NodeMcu ESP8266-12F)
Habe das geändert:

# These can be overridden in platform.local.txt
compiler.c.extra_flags=
compiler.c.elf.extra_flags=
#compiler.c.elf.extra_flags=-v
compiler.cpp.extra_flags=
compiler.S.extra_flags=
compiler.ar.extra_flags=
compiler.elf2hex.extra_flags=
compiler.libraries.ldflags=

und das:

## Combine gc-sections, archives, and objects
recipe.c.combine.pattern="{compiler.path}{compiler.c.elf.cmd}" {build.exception_flags} -Wl,-Map "-Wl,{build.path}/{build.project_name}.map" {compiler.c.elf.flags} {compiler.c.elf.extra_flags} -o "{build.path}/{build.project_name}.elf" -Wl,--start-group {object_files} "{archive_file_path}" {compiler.c.elf.libs} -Wl,--end-group  "-L{build.path}"

allerdings war das bei Zeile 111 und nicht bei 105.
Bei Zeile 105 geht es bei mir um:

## Build the app.ld linker file
recipe.hooks.linking.prelink.1.pattern="{runtime.tools.python3.path}/python3" -I "{runtime.tools.mkdir}" -p "{build.path}/ld_h/"

Kann es sein das du da einen Fehler hast?

Nein.
Die Angabe kommt aus der Beschreibung der lib. Klick auf den Link oben.
Ich hatte das heute für den MEGA kompiliert - da muss nichts umgebaut werden :wink:
Aber schick, wenn .13 geht...

Hallo,

habe die github-Lib gerade mal in die 1.8.16 mit ESP 3.0.2 geworfen, platform.txt in Zeile 96
compiler.libraries.ldflags=
hinzugefügt und Zeile 123 (ehemalige Zeile 105) ersetzt.
Compiler läuft sauber durch.
Ich habe zwar noch ein 1.8.12 drauf (installiere sowieso nur als portable), da ist aber ESP 2.7.4 drauf, da ist die BSEC bei mir ohnehin installiert, die Zeile 105 ist da auch schon gewandert.
Compiliert aber auch ohne Fehler.

Gruß aus Berlin
Michael