Include Library in another library

How to include another library in a library?
I am using Edge Impulse for training ML, then upload the zip file in Arduino.
Then, i want to upload the data to Arduino IoT Cloud, using ArduinoIoTCloud library.
In the portenta_h7_microphone_continuous.ino sketch, i include these headers.

#include <trialaudio_inferencing.h>
#include <Arduino.h>
#include <ArduinoIoTCloud.h>
#include "arduino_secrets.h"
#include "thingProperties.h"

But I got these errors

C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\arduino_secrets.h:2:0,
                 from C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\portenta_h7_microphone_continuous.ino:38:
C:\Users\User\Documents\Arduino\libraries\ArduinoIoTCloud\extras\test\include\Arduino_ConnectionHandler.h:12:14: error: conflicting declaration 'typedef void ConnectionHandler'
 typedef void ConnectionHandler;
              ^~~~~~~~~~~~~~~~~
In file included from c:\Users\User\Documents\Arduino\libraries\ArduinoIoTCloud\src/ArduinoIoTCloud.h:27:0,
                 from C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\portenta_h7_microphone_continuous.ino:37:
c:\Users\User\Documents\Arduino\libraries\Arduino_ConnectionHandler\src/Arduino_ConnectionHandler.h:197:7: note: previous declaration as 'class ConnectionHandler'
 class ConnectionHandler {
       ^~~~~~~~~~~~~~~~~
In file included from C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\portenta_h7_microphone_continuous.ino:39:0:
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h:6:25: error: 'SECRET_SSID' was not declared in this scope
 const char SSID[]     = SECRET_SSID;    // Network SSID (name)
                         ^~~~~~~~~~~
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h:7:25: error: 'SECRET_PASS' was not declared in this scope
 const char PASS[]     = SECRET_PASS;    // Network password (use for WPA, or use as key for WEP)
                         ^~~~~~~~~~~
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h: In function 'void initProperties()':
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h:25:3: error: 'ArduinoCloud' was not declared in this scope
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h: At global scope:
C:\Users\User\Documents\Arduino\portenta_h7_microphone_continuous\thingProperties.h:40:1: error: 'WiFiConnectionHandler' does not name a type; did you mean 'ConnectionHandler'?
 WiFiConnectionHandler ArduinoIoTPreferredConnection(SECRET_SSID, SECRET_PASS);

I am beginner in Arduino and have limited understanding on how the libraries work.

Remove that library as it clashes with ArduinoIoTCloud.

I guess this ("SECRET_SSID") is thought to be replaced by your actual SSID. Same applies to "SECRET_PASS".

2 Likes

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.