After Keil C include bmv080.h,bmv080_def.h,lib_bmv080.a,lib_postProcessor.a,Buile file ocurr “ Cannot link object bmv080_hal.c.o as its attributes are incompatible with the image attributes.“
How to solve issue?
After Keil C include bmv080.h,bmv080_def.h,lib_bmv080.a,lib_postProcessor.a,Buile file ocurr “ Cannot link object bmv080_hal.c.o as its attributes are incompatible with the image attributes.“
How to solve issue?
Architecture Mismatch: The SparkFun BMV080 library claims to run on ESP32 architectures, but you’re compiling for a different board (likely an Arduino Uno or similar AVR-based board).
Missing String Library: The compiler can’t find <cstring>
which should be <string.h>
for Arduino.
Library Path Issues: There are problems with the library installation paths.
If you have an ESP32 board available:
Go to Tools → Board and select an ESP32 board (like “ESP32 Dev Module”)
Make sure you have the ESP32 board package installed via Tools → Board → Boards Manager
If you need to use an Arduino Uno/Nano/etc:
Install the correct BME280/BMP280 library instead:
Go to Sketch → Include Library → Manage Libraries
Search for “Adafruit BME280” or “Adafruit BMP280”
Install the official Adafruit library
Update your code to use the Adafruit library:
cpp
#include <Adafruit_BME280.h>
// or
#include <Adafruit_BMP280.h>
Adafruit_BME280 bme; // Create sensor object
If you must use the SparkFun library:
Reinstall the library:
Remove the current SparkFun BMV080 library
Download it fresh from the Library Manager
Check your board selection matches what the library supports