Support for Multiple BME688 in BSEC2 on ESP32 - link error

Is there no multi device support for ESP32?  I am linking to the right blob, this is all Bosch code from the BSEC distribution, it should link.

Details:

Using Arduino,the example, bme68x_demo_sample.ino, using board Adafruit ESP32 Feather, fails to link with the following display:

Library Bosch-BSEC2-Library has been declared precompiled:
Using precompiled library in D:\Data\PROJECTS\Sketchbook\libraries\Bosch-BSEC2-Library\src\esp32
libraries\Bosch-BSEC2-Library\bsec2.cpp.o:(.literal._ZN5Bsec218updateSubscriptionEP21bsec_virtual_sensor_thf+0x0): undefined
           reference to `bsec_update_subscription_m'
...etc for additional multi calls.

I have reloaded from GIT using a zip file for V1.5.0 and the library.json file shows:
"version": "1.5.2400",

In my application, I need to instantiate for multiple BME688 devices (up to 4) at two separate I2S addresses on each of two I2S hardware connections.  I know HOW to do this but the required calls are not in the pre-compiled library.  Anybody got a clue?

Best reply by evansf

I moved this code over to a carefully provisioned PlatforIO project.  under that system,  the example code compiles and links correctly.  Why the Arduino environment does not work remains a mystery.

View original
3 replies
Resolved