I've compiled successfully a year ago in Arduino IDE, but lately I'm getting fatal errors:

/Users/davidjeffers/Documents/Arduino/libraries/PubSubClient/src/PubSubClient.cpp: At global scope:
/Users/davidjeffers/Documents/Arduino/libraries/PubSubClient/src/PubSubClient.cpp:473:8: error: redefinition of 'size_t PubSubClient::write(uint8_t)'
size_t PubSubClient::write(uint8_t data) {

In file included from /Users/davidjeffers/Documents/Arduino/libraries/PubSubClient/src/PubSubClient.cpp:7:0:
/Users/davidjeffers/Documents/Arduino/libraries/PubSubClient/src/PubSubClient.h:160:19: error: 'virtual size_t PubSubClient::write(uint8_t)' previously defined here
virtual size_t write(uint8_t) {};

I've tried using VSCode. I've tried opening an issue on GitHub.

Thanks for any thoughts.

  • thanks. I'm having difficulty previewing.
    – DavidJ
    Apr 20 '20 at 17:50
  • reinstall the library
    – Juraj
    Apr 20 '20 at 18:17
  • 1
    @Juraj - That works. Why?
    – DavidJ
    Apr 20 '20 at 18:40

The library is somehow modified. There should be no {} in virtual size_t write(uint8_t) {}; or the whole line shouldn't be in this .h.

Reinstall the library.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.