Skip to content

IPAddress has not been declared #2887

New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

Closed
Oliblc opened this issue Mar 28, 2025 · 2 comments · Fixed by #2894
Closed

IPAddress has not been declared #2887

Oliblc opened this issue Mar 28, 2025 · 2 comments · Fixed by #2894

Comments

@Oliblc
Copy link

Oliblc commented Mar 28, 2025

Hello,

Since version 4.4.4 compilation failed if WiFiNINA.h is included in the sketch.
Code to reproduce the error :

#include "WiFiNINA.h"

void setup() {
  // put your setup code here, to run once:

}

void loop() {
  // put your main code here, to run repeatedly:

}

Error message

WARNING: library WiFiNINA claims to run on samd, mbed_rp2040, megaavr architecture(s) and may be incompatible with your current board which runs on rp2040 architecture(s).
In file included from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/utility/wifi_drv.h:27,
                 from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFi.cpp:21:
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:37:34: error: 'IPAddress' has not been declared
   37 |   virtual uint8_t beginMulticast(IPAddress, uint16_t);  // initialize, start listening on specified multicast IP address and port. Returns 1 if successful, 0 if there are no sockets available to use
      |                                  ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:44:27: error: 'IPAddress' has not been declared
   44 |   virtual int beginPacket(IPAddress ip, uint16_t port);
      |                           ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:76:11: error: 'IPAddress' does not name a type
   76 |   virtual IPAddress remoteIP();
      |           ^~~~~~~~~
In file included from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/utility/wifi_drv.h:27,
                 from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:29:
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:37:34: error: 'IPAddress' has not been declared
   37 |   virtual uint8_t beginMulticast(IPAddress, uint16_t);  // initialize, start listening on specified multicast IP address and port. Returns 1 if successful, 0 if there are no sockets available to use
      |                                  ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:44:27: error: 'IPAddress' has not been declared
   44 |   virtual int beginPacket(IPAddress ip, uint16_t port);
      |                           ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:76:11: error: 'IPAddress' does not name a type
   76 |   virtual IPAddress remoteIP();
      |           ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:60:9: error: no declaration matches 'uint8_t WiFiUDP::beginMulticast(arduino::IPAddress, uint16_t)'
   60 | uint8_t WiFiUDP::beginMulticast(IPAddress ip, uint16_t port) {
      |         ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:37:19: note: candidate is: 'virtual uint8_t WiFiUDP::beginMulticast(int, uint16_t)'
   37 |   virtual uint8_t beginMulticast(IPAddress, uint16_t);  // initialize, start listening on specified multicast IP address and port. Returns 1 if successful, 0 if there are no sockets available to use
      |                   ^~~~~~~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:28:7: note: 'class WiFiUDP' defined here
   28 | class WiFiUDP : public UDP {
      |       ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:108:5: error: no declaration matches 'int WiFiUDP::beginPacket(arduino::IPAddress, uint16_t)'
  108 | int WiFiUDP::beginPacket(IPAddress ip, uint16_t port)
      |     ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:96:5: note: candidates are: 'virtual int WiFiUDP::beginPacket(const char*, uint16_t)'
   96 | int WiFiUDP::beginPacket(const char *host, uint16_t port)
      |     ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:44:15: note:                 'virtual int WiFiUDP::beginPacket(int, uint16_t)'
   44 |   virtual int beginPacket(IPAddress ip, uint16_t port);
      |               ^~~~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:28:7: note: 'class WiFiUDP' defined here
   28 | class WiFiUDP : public UDP {
      |       ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:198:12: error: no declaration matches 'arduino::IPAddress WiFiUDP::remoteIP()'
  198 | IPAddress  WiFiUDP::remoteIP()
      |            ^~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.cpp:198:12: note: no functions named 'arduino::IPAddress WiFiUDP::remoteIP()'
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:28:7: note: 'class WiFiUDP' defined here
   28 | class WiFiUDP : public UDP {
      |       ^~~~~~~
In file included from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/utility/wifi_drv.h:27,
                 from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiStorage.h:23,
                 from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiStorage.cpp:20:
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:37:34: error: 'IPAddress' has not been declared
   37 |   virtual uint8_t beginMulticast(IPAddress, uint16_t);  // initialize, start listening on specified multicast IP address and port. Returns 1 if successful, 0 if there are no sockets available to use
      |                                  ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:44:27: error: 'IPAddress' has not been declared
   44 |   virtual int beginPacket(IPAddress ip, uint16_t port);
      |                           ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:76:11: error: 'IPAddress' does not name a type
   76 |   virtual IPAddress remoteIP();
      |           ^~~~~~~~~
In file included from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/utility/wifi_drv.h:27,
                 from /Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiClient.cpp:30:
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:37:34: error: 'IPAddress' has not been declared
   37 |   virtual uint8_t beginMulticast(IPAddress, uint16_t);  // initialize, start listening on specified multicast IP address and port. Returns 1 if successful, 0 if there are no sockets available to use
      |                                  ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:44:27: error: 'IPAddress' has not been declared
   44 |   virtual int beginPacket(IPAddress ip, uint16_t port);
      |                           ^~~~~~~~~
/Users/olivier/Documents/Arduino/libraries/WiFiNINA/src/WiFiUdp.h:76:11: error: 'IPAddress' does not name a type
   76 |   virtual IPAddress remoteIP();
      |           ^~~~~~~~~

exit status 1

Compilation error: exit status 1

The issue most probably come from commit c79e543

The sketch compiles with version 4.4.3

@Oliblc Oliblc changed the title IPAddress is not defined IPAddress has not been declared Mar 28, 2025
@maxgerhardt
Copy link
Contributor

Does the arduino-libraries/WiFiNINA#281 PR solve the problem? This core also uses ArduinoCore-API as its base.

@pennam
Copy link

pennam commented Mar 31, 2025

earlephilhower/ArduinoCore-API@a323bb0

I suspect the root cause is the above commit removes using arduino::IPAddress;

# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants