gilmaimon / ArduinoWebsockets

A library for writing modern websockets applications with Arduino (ESP8266 and ESP32)
GNU General Public License v3.0
481 stars 97 forks source link

Getting a error from the TCPServer using the Arduino GIGA R1 WIFI on the ESP-32Client code. #145

Open markieboy223 opened 1 year ago

markieboy223 commented 1 year ago

Describe the bug error: expected ')' before '' token WebsocketsServer(network::TcpServer server = new WSDefaultTcpServer); error: 'TcpServer' in namespace 'websockets::network' does not name a type network::TcpServer* _server;

To Reproduce Steps to reproduce the behavior. This should include:

Expected behavior To connect to the given websocketserver and receive my helloworld message from the websocketserver.

Code Im using the File->Examples->ArduinoWebsockets->Esp-32Client code.

Additional context Add any other context about the problem here.

markieboy223 commented 1 year ago

Please help as quickly as possible i really need this to work fast :-)

pawellen commented 1 year ago

Any update on this?

cpp-tutor commented 10 months ago

A little late with this, but I have had some success adapting the Portenta H7 code from the WebSockets2_Generic library to use with GIGA R1 WiFi. Since no other websocket support for this board is apparently available, and this library itself is archived read-only by the author, I have created a fork: https://github.com/cpp-tutor/WebSockets2_Generic

Basic usage (header-only functionality so dependencies not needed):

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

Any comments, queries or problems, please raise an issue there.

AfdulRohmat commented 5 months ago

hello sir @cpp-tutor

I have a project related to websockets on Arduino Giga R1 WiFi and I am trying to use solution you provided. But I still get the same error as in the main issue

error: expected ')' before '*' token WebsocketsServer(network2_generic::TcpServer* server = new WSDefaultTcpServer); error: 'TcpServer' in namespace 'websockets2_generic::network2_generic' does not name a type network2_generic::TcpServer* _server;

here is my code. I took the reference from Portenta H7 code from the WebSockets2_Generic (as you mentioned) :

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
// #include <WiFi.h>
#include <WebSockets2_Generic.h>

using namespace websockets2_generic;

const char* ssid = "my_wifi";
const char* password = "my_password";
const char* websockets_server_host = "192.xxx.x.x";  // since i use in localhost
const uint16_t websockets_server_port = 3000;

WebsocketsClient client;

int status = WL_IDLE_STATUS;

void onEventsCallback(WebsocketsEvent event, String data) {
  (void)data;

  if (event == WebsocketsEvent::ConnectionOpened) {
    Serial.println("Connnection Opened");
  } else if (event == WebsocketsEvent::ConnectionClosed) {
    Serial.println("Connnection Closed");
  } else if (event == WebsocketsEvent::GotPing) {
    Serial.println("Got a Ping!");
  } else if (event == WebsocketsEvent::GotPong) {
    Serial.println("Got a Pong!");
  }
}
void setup() {
  Serial.begin(9600);
  while (!Serial && millis() < 5000)
    ;

  Serial.print("\nStarting Portenta_H7-Client using WiFi on ");
  Serial.println(BOARD_NAME);
  Serial.println(WEBSOCKETS2_GENERIC_VERSION);

  // check for the WiFi module:
  if (WiFi.status() == WL_NO_MODULE) {
    Serial.println("Communication with WiFi module failed!");
    // don't continue
    while (true)
      ;
  }

  Serial.print(F("Connecting to SSID: "));
  Serial.println(ssid);

  status = WiFi.begin(ssid, password);

  delay(1000);

  // attempt to connect to WiFi network
  while (status != WL_CONNECTED) {
    delay(500);

    // Connect to WPA/WPA2 network
    status = WiFi.status();
  }

  if (WiFi.status() == WL_CONNECTED) {
    Serial.print("Connected to Wifi, IP address: ");
    Serial.println(WiFi.localIP());
    Serial.print("Connecting to WebSockets Server @");
    Serial.println(websockets_server_host);
  } else {
    Serial.println("\nNo WiFi");
    return;
  }

  // run callback when messages are received
  client.onMessage([&](WebsocketsMessage message) {
    Serial.print("Got Message: ");
    Serial.println(message.data());
  });

  // run callback when events are occuring
  client.onEvent(onEventsCallback);

  sendMessage();
}

void sendMessage() {
  // try to connect to Websockets server
  bool connected = client.connect(websockets_server_host, websockets_server_port, "/");

  if (connected) {
    Serial.println("Connected!");

    String WS_msg = String("Hello to Server from ") + BOARD_NAME;
    client.send(WS_msg);
  } else {
    Serial.println("Not Connected!");
  }
}

void loop() {
  // let the websockets client check for incoming messages
  if (client.available()) {
    client.poll();
  }
}

Maybe there's something I'm missing or there's something wrong with my approach ?

cpp-tutor commented 5 months ago

Hi @AfdulRohmat

I have successfully compiled your code above on my machine, so could I ask if you are definitely using my fork of Websockets2_Generic instead of the upstream (and Arduino repo) version?

If you are still having difficulties please contact me.

AfdulRohmat commented 5 months ago

image

Hello Mr. @cpp-tutor . Apologize for my late response

I used the official library on Arduino as shown in the image above. Could the problem be caused by this ? since I think the library is from the original version which does not support Arduino Giga R1

Do I have to manually install the library you forked to Arduino?

cpp-tutor commented 5 months ago

Hi @AfdulRohmat

In reply, yes you will need to perform a manual install. This involves going to https://github.com/cpp-tutor/WebSockets2_Generic and choosing "Code <> --> Download ZIP". Then in Arduino IDE 2.x choose "Sketch --> Include Library --> Add .ZIP Library" and navigate to the saved zip file (you may want to uninstall the existing WebSockets2_Generic library first).

You should then see version "1.14.0" in the list of installed libraries (your screenshot above shows "1.13.2"). I believe following this process will fully solve your issue.

Regards, Richard

AfdulRohmat commented 5 months ago

Hi Mr @cpp-tutor

I see, thank you very much for the instruction, i will try those instruction very soon and also update the result, hopefully it can works

AfdulRohmat commented 5 months ago

image image

Hi mr @cpp-tutor

I've tried updating the library and it successfully compiled!

But I got a new problem where I can't connect to localhost from my server. I have entered my IPv4 address in the websockets_server_host variable but it still doesn't work

Previously I had tried running my websocket project in postman and it works smoothly

Note: WiFi connection is successfully connected

cpp-tutor commented 5 months ago

Hi @AfdulRohmat

Thank you for your feedback, I'm glad that you got your code compiling.

I must confess that I didn't either flash or run your code, but one thing I did notice is that the method connect() should take the form ws://192.x.x.x according to the docs. Maybe you could try adding this to the websockets_server_host variable?

You might like to take a look at my two other Arduino projects in order to see working code using this library, in particular "pforth" which hosts a web-based terminal. The original author has made the upstream repo read-only so raising issues either there or on my fork is not possible, and this isn't really the best place to go into more detail, so if you are still having problems please email me directly or raise an issue on "pforth".

Regards, Richard

markieboy223 commented 3 months ago

A little late with this, but I have had some success adapting the Portenta H7 code from the WebSockets2_Generic library to use with GIGA R1 WiFi. Since no other websocket support for this board is apparently available, and this library itself is archived read-only by the author, I have created a fork: https://github.com/cpp-tutor/WebSockets2_Generic

Basic usage (header-only functionality so dependencies not needed):

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

Any comments, queries or problems, please raise an issue there.

Hi, sorry for the late response aswell. I managed to get a client working with the arduinohttpclient library for the giga. Unfortunately i’m running into some difficulties there aswell such as it needing a immideate response message to perform a handshake.

I will try your solution tomorrow, does it still work?

markieboy223 commented 3 months ago

Hi @cpp-tutor i am trying to connect to a signalR websocketServer of mine, that protocol is a bit different because it expects a message to perform a handshake. Do you perhaps know a way to fix this?

image

cpp-tutor commented 3 months ago

Hi @markieboy223,I'm afraid I don't have any ideas about how to solve your specific problem. My fork simply adapts the Portenta H7 code to GIGA, which works for my own purposes.You could try asking the upstream author who may be able to assist further.https://github.com/khoih-prog/WebSockets_Generic

markieboy223 commented 3 months ago

Hi @markieboy223,I'm afraid I don't have any ideas about how to solve your specific problem. My fork simply adapts the Portenta H7 code to GIGA, which works for my own purposes.You could try asking the upstream author who may be able to assist further.https://github.com/khoih-prog/WebSockets_Generic

Hi, no worries i fixed it. Did some deep diving into the websocketclient.hpp and it works now. Protocol for signalR is different so it required some adjustment. Also i noticed it’s wss and not ws so that needed to be declared in the client.connect()

markieboy223 commented 3 months ago

@cpp-tutor Are you able to pass the websocketclient into a .h and .cpp file with you sketch somehow?

Main.ino

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>
#include "SocketHandler.h"

using namespace websockets2_generic;

const char* ssid = "";
const char* password = "";
const char* websockets_server_host = "";

WebsocketsClient client;
SocketHandler socketHandler(client);

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("Connected to WiFi");

  socketHandler.setup();
}

void loop() {
  socketHandler.loop();
}

SocketHandler.h:

#ifndef SOCKET_HANDLER_H
#define SOCKET_HANDLER_H

#define WEBSOCKETS_USE_GIGA_R1_WIFI 1
#include <WiFi.h>
#include <WebSockets2_Generic.h>

using namespace websockets2_generic;

class SocketHandler {
private:
    WebsocketsClient& client;

    void onEvent(WebsocketsEvent event, String data);
    String urlencode(const String &data);

public:
    // Constructor taking a WebsocketsClient reference
    SocketHandler(WebsocketsClient& client);

    void setup();
    void loop();
};

#endif

SocketHandler.cpp:

include "SocketHandler.h"

// Constructor
SocketHandler::SocketHandler(WebsocketsClient& client) : client(client) {}

void SocketHandler::onEvent(WebsocketsEvent event, String data) {
    Serial.println("Event: " + String((int)event));
    if (event == WebsocketsEvent::ConnectionOpened) {
        Serial.println("Connection Opened");
        String handshakeMessage = "{\"protocol\":\"json\",\"version\":1}\x1E";
        client.send(handshakeMessage);
        Serial.println("Handshake message sent.");
    } else if (event == WebsocketsEvent::ConnectionClosed) {
        Serial.println("Connection Closed: " + data);
    }
}

String SocketHandler::urlencode(const String &data) {
    String encoded;
    for (size_t i = 0; i < data.length(); i++) {
        char c = data[i];
        if (c == ' ') {
            encoded += '+';
        } else if (c == '-' || c == '_' || c == '.' || c == '~' ||
                   (c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') ||
                   (c >= 'a' && c <= 'z')) {
            encoded += c;
        } else {
            encoded += '%';
            encoded += String((c >> 4) & 0x0F, HEX);
            encoded += String(c & 0x0F, HEX);
        }
    }
    return encoded;
}

void SocketHandler::setup() {
    // No need to reinitialize WiFi, assume it's handled elsewhere
    Serial.println("Setting up WebSocket...");

    client.onMessage([](WebsocketsMessage message) {
        Serial.println("Message: " + message.data());
    });

    client.onEvent([this](WebsocketsEvent event, String data) { this->onEvent(event, data); });

    // Prepare authentication data
    String authData = "{}";
    String encodedAuthData = urlencode(authData);

    // Construct URL with encoded auth data
    String url = String("wss://") + "" + "/myhub?auth=" + encodedAuthData;

    if (client.connect(url)) {
        Serial.println("Connected to WebSocket server");
    } else {
        Serial.println("Failed to connect to WebSocket server");
    }
}

void SocketHandler::loop() {
    client.poll();
}

Gives this error:

C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:79: multiple definition ofwebsockets2_generic::WebsocketsServer::~WebsocketsServer()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:79: multiple definition ofwebsockets2_generic::WebsocketsServer::~WebsocketsServer()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::~WebsocketsServer()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:105: multiple definition ofwebsockets2_generic::WebsocketsServer::~WebsocketsServer()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:225: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::getAuthorization[abi:cxx11]()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:121: multiple definition ofwebsockets2_generic::WebsocketsClient::getAuthorization[abi:cxx11]()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:161: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::shouldAddDefaultHeader(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition ofwebsockets2_generic::shouldAddDefaultHeader(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:176: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::isWhitespace(char)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:119: multiple definition ofwebsockets2_generic::isWhitespace(char)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:323: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::isCaseInsensetiveEqual(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:121: multiple definition of `websockets2_generic::isCaseInsensetiveEqual(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:337: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::doestStartsWith(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:122: multiple definition ofwebsockets2_generic::doestStartsWith(std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:396: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:127: multiple definition ofwebsockets2_generic::WebsocketsClient::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::getCloseReason() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition ofwebsockets2_generic::WebsocketsClient::getCloseReason() const' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1045: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition ofwebsockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:52: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsServer::WebsocketsServer(websockets2_generic::network2_generic::TcpServer*)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:52: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsServer::available()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition of websockets2_generic::WebsocketsServer::available()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:56: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsServer::listen(unsigned short)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:128: multiple definition of websockets2_generic::WebsocketsServer::listen(unsigned short)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:63: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsServer::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:67: multiple definition of websockets2_generic::WebsocketsServer::poll()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:70: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::messageTypeFromOpcode(unsigned char)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:129: multiple definition of websockets2_generic::messageTypeFromOpcode(unsigned char)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Message.hpp:47: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::crypto2_generic::internals2_generic::base64_encode[abi:cxx11](unsigned char const, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:130: multiple definition of `websockets2_generic::crypto2_generic::internals2_generic::base64_encode[abi:cxx11](unsigned char const, unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/base64.hpp:50: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::setAuthorization(char const*, char const*)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:136: multiple definition ofwebsockets2_generic::WebsocketsClient::setAuthorization(char const, char const)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:148: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::internals2_generic::base64_decode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:138: multiple definition ofwebsockets2_generic::crypto2_generic::internals2_generic::base64_decode(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/base64.hpp:98: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Encode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:149: multiple definition ofwebsockets2_generic::crypto2_generic::base64Encode(std::cxx11::basic_string<char, std::char_traits, std::allocator >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:54: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Encode[abi:cxx11](unsigned char*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:149: multiple definition ofwebsockets2_generic::crypto2_generic::base64Encode[abi:cxx11](unsigned char*, unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:59: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::base64Decode(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:150: multiple definition ofwebsockets2_generic::crypto2_generic::base64Decode(std::cxx11::basic_string<char, std::char_traits, std::allocator >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:64: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::websocketsHandshakeEncodeKey(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:150: multiple definition ofwebsockets2_generic::crypto2_generic::websocketsHandshakeEncodeKey(std::cxx11::basic_string<char, std::char_traits, std::allocator >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:69: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::crypto2_generic::randomBytes[abi:cxx11](unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:154: multiple definition ofwebsockets2_generic::crypto2_generic::randomBytes[abi:cxx11](unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Crypto.hpp:81: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::GetCloseReason(unsigned short)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition ofwebsockets2_generic::GetCloseReason(unsigned short)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:46: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::swapEndianess(unsigned long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition ofwebsockets2_generic::internals2_generic::swapEndianess(unsigned long)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:93: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::swapEndianess(unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:156: multiple definition ofwebsockets2_generic::internals2_generic::swapEndianess(unsigned long long)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:96: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:157: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr, websockets2_generic::FragmentsPolicy)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:109: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>, websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:157: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(std::shared_ptr, websockets2_generic::FragmentsPolicy)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:109: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:158: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::poll()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:174: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readUntilSuccessfullOrError(websockets2_generic::network2_generic::TcpClient&, unsigned char*, unsigned long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:159: multiple definition ofwebsockets2_generic::internals2_generic::readUntilSuccessfullOrError(websockets2_generic::network2_generic::TcpClient&, unsigned char, unsigned long)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:179: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readHeaderFromSocket(websockets2_generic::network2_generic::TcpClient&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:160: multiple definition ofwebsockets2_generic::internals2_generic::readHeaderFromSocket(websockets2_generic::network2_generic::TcpClient&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:191: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::readExtendedPayloadLength(websockets2_generic::network2_generic::TcpClient&, websockets2_generic::internals2_generic::Header const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:161: multiple definition ofwebsockets2_generic::internals2_generic::readExtendedPayloadLength(websockets2_generic::network2_generic::TcpClient&, websockets2_generic::internals2_generic::Header const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:205: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::internals2_generic::readMaskingKey(websockets2_generic::network2_generic::TcpClient&, unsigned char)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:163: multiple definition of websockets2_generic::internals2_generic::readMaskingKey(websockets2_generic::network2_generic::TcpClient&, unsigned char*)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:225: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::readData[abi:cxx11](websockets2_generic::network2_generic::TcpClient&, unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:163: multiple definition of websockets2_generic::internals2_generic::readData[abi:cxx11](websockets2_generic::network2_generic::TcpClient&, unsigned long long)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:229: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::remaskData(std::cxx11::basic_string<char, std::char_traits, std::allocator >&, unsigned char const, unsigned long long)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:167: multiple definition of `websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits, std::allocator >&, unsigned char const, unsigned long long)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:258: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::_recv()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:168: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::_recv()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:266: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getHeader[abi:cxx11](unsigned long long, unsigned char, bool, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/Tiny_Websockets_Generic/internals/wscrypto/sha1.hpp:177: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::getHeader[abi:cxx11](unsigned long long, unsigned char, bool, bool)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:483: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::remaskData(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, char const*, unsigned int, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:512: multiple definition ofwebsockets2_generic::internals2_generic::remaskData(std::cxx11::basic_string<char, std::char_traits, std::allocator >&, char const, unsigned int, unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:512: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const, unsigned int, unsigned char, bool, bool, char const)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:519: multiple definition of `websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const, unsigned int, unsigned char, bool, bool, char const)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:519: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const, unsigned int, unsigned char, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:468: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::send(char const*, unsigned int, unsigned char, bool)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:468: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned char, bool, bool, char const)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:478: multiple definition of `websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned char, bool, bool, char const)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:478: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, unsigned char, bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:473: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::send(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, unsigned char, bool)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:473: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::close(websockets2_generic::CloseReason)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:549: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::close(websockets2_generic::CloseReason)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:549: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getCloseReason() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:572: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::getCloseReason() const' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:572: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:575: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:575: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:587: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::ping(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:587: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:600: multiple definition of `websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:600: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:612: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::pong(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:612: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleMessageInternally(websockets2_generic::WebsocketsMessage&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:444: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::handleMessageInternally(websockets2_generic::WebsocketsMessage&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:444: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStreamingMode(websockets2_generic::internals2_generic::WebsocketsFrame&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:325: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStreamingMode(websockets2_generic::internals2_generic::WebsocketsFrame&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:325: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStandardMode(websockets2_generic::internals2_generic::WebsocketsFrame&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:402: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::handleFrameInStandardMode(websockets2_generic::internals2_generic::WebsocketsFrame&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:402: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::recv()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:424: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::recv()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:424: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::readNonBlocking()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:804: multiple definition ofwebsockets2_generic::WebsocketsClient::readNonBlocking()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:804: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::setFragmentsPolicy(websockets2_generic::FragmentsPolicy)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:626: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::getFragmentsPolicy() const': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:632: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::getFragmentsPolicy() const' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:632: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:48: multiple definition ofwebsockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:48: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic19fromInterfaceStringB5cxx11EOKN7arduino6StringE+0x0): multiple definition ofwebsockets2_generic::internals2_generic::fromInterfaceString[abi:cxx11](arduino::String const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic18internals2_generic19fromInterfaceStringB5cxx11EOKN7arduino6StringE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::internals2_generic::fromInternalString(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:58: multiple definition of websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Common.hpp:58: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::fromInternalString(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic18fromInternalStringEOKNSt7cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x0): multiple definition of websockets2_generic::internals2_generic::fromInternalString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic18internals2_generic18fromInternalStringEOKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::~WebsocketsEndpoint()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:634: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: multiple definition of websockets2_generic::WebsocketsClient::WebsocketsClient(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:58: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::internals2_generic::WebsocketsEndpoint::setInternalSocket(std::shared_ptr)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:169: multiple definition of websockets2_generic::internals2_generic::WebsocketsEndpoint::setInternalSocket(std::shared_ptr<websockets2_generic::network2_generic::TcpClient>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:169: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsClient::upgradeToSecuredConnection()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:425: multiple definition of websockets2_generic::WebsocketsClient::upgradeToSecuredConnection()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:425: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::generateHandshake(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:193: multiple definition of websockets2_generic::generateHandshake(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, std::vector<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<std::pair<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:193: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::generateHandshake(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:253: multiple definition of `websockets2_generic::generateHandshake(std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::vector<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > >, std::allocator<std::pair<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::cxx11::basic_string<char, std::char_traits, std::allocator > > > > const&, std::cxx11::basic_string<char, std::char_traits, std::allocator > const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:253: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::parseHandshakeResponse(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > >)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:356: multiple definition ofwebsockets2_generic::parseHandshakeResponse(std::vector<std::cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::cxx11::basic_string<char, std::char_traits, std::allocator > > >)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:356: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handlePing(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1050: multiple definition ofwebsockets2_generic::WebsocketsClient::_handlePing(websockets2_generic::WebsocketsMessage)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1050: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handlePong(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1057: multiple definition ofwebsockets2_generic::WebsocketsClient::_handlePong(websockets2_generic::WebsocketsMessage)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1057: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::_handleClose(websockets2_generic::WebsocketsMessage)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1064: multiple definition ofwebsockets2_generic::WebsocketsClient::_handleClose(websockets2_generic::WebsocketsMessage)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1064: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::available(bool)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:985: multiple definition ofwebsockets2_generic::WebsocketsClient::available(bool)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:985: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(char const*, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:857: multiple definition ofwebsockets2_generic::WebsocketsClient::send(char const, unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:857: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(arduino::String const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:842: multiple definition ofwebsockets2_generic::WebsocketsClient::send(arduino::String const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:842: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::send(arduino::String const&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic16WebsocketsClient4sendERKN7arduino6StringE+0x0): multiple definition ofwebsockets2_generic::WebsocketsClient::send(arduino::String const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic16WebsocketsClient4sendERKN7arduino6StringE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function `websockets2_generic::WebsocketsClient::send(char const)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:850: multiple definition of websockets2_generic::WebsocketsClient::send(char const*)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:850: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In functionwebsockets2_generic::WebsocketsClient::sendBinary(char const, unsigned int)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:898: multiple definition of `websockets2_generic::WebsocketsClient::sendBinary(char const, unsigned int)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:898: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::sendBinary(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:890: multiple definition ofwebsockets2_generic::WebsocketsClient::sendBinary(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:890: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::stream(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:930: multiple definition ofwebsockets2_generic::WebsocketsClient::stream(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:930: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::streamBinary(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:946: multiple definition ofwebsockets2_generic::WebsocketsClient::streamBinary(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:946: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::end(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:962: multiple definition ofwebsockets2_generic::WebsocketsClient::end(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:962: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::ping(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1007: multiple definition ofwebsockets2_generic::WebsocketsClient::ping(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1007: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::pong(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1019: multiple definition ofwebsockets2_generic::WebsocketsClient::pong(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1019: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::close(websockets2_generic::CloseReason)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1031: multiple definition ofwebsockets2_generic::WebsocketsClient::close(websockets2_generic::CloseReason)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1031: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition ofwebsockets2_generic::WebsocketsClient::~WebsocketsClient()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition ofwebsockets2_generic::WebsocketsClient::~WebsocketsClient()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::~WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: multiple definition ofwebsockets2_generic::WebsocketsClient::~WebsocketsClient()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:1154: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::readBlocking()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:816: multiple definition ofwebsockets2_generic::WebsocketsClient::readBlocking()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:816: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::poll()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:762: multiple definition ofwebsockets2_generic::WebsocketsClient::poll()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:762: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:141: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:141: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic18internals2_generic18WebsocketsEndpointaSEOKS1_+0x0): multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::operator=(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2_generic18internals2generic18WebsocketsEndpointaSEOKS1+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: multiple definition ofwebsockets2_generic::internals2_generic::WebsocketsEndpoint::WebsocketsEndpoint(websockets2_generic::internals2_generic::WebsocketsEndpoint const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Endpoint.hpp:130: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient(websockets2_generic::WebsocketsClient const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:87: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsMessage)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:735: multiple definition ofwebsockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsMessage)>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:735: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsEvent, arduino::String)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:752: multiple definition ofwebsockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsEvent, arduino::String)>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:752: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsMessage)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:728: multiple definition ofwebsockets2_generic::WebsocketsClient::onMessage(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsMessage)>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:728: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsEvent, arduino::String)>)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:745: multiple definition ofwebsockets2_generic::WebsocketsClient::onEvent(std::function<void (websockets2_generic::WebsocketsClient&, websockets2_generic::WebsocketsEvent, arduino::String)>)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:745: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:104: multiple definition ofwebsockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:104: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&&)': sketch_aug1a.ino.cpp:(.text._ZN19websockets2_generic16WebsocketsClientaSEOKS0_+0x0): multiple definition ofwebsockets2_generic::WebsocketsClient::operator=(websockets2_generic::WebsocketsClient const&&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:SocketHandler.cpp:(.text._ZN19websockets2generic16WebsocketsClientaSEOKS0+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::addHeader(arduino::String, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:505: multiple definition ofwebsockets2_generic::WebsocketsClient::addHeader(arduino::String, arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:505: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connect(arduino::String, int, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:600: multiple definition ofwebsockets2_generic::WebsocketsClient::connect(arduino::String, int, arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:600: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connect(arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:512: multiple definition ofwebsockets2_generic::WebsocketsClient::connect(arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:512: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::connectSecure(arduino::String, int, arduino::String)': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:719: multiple definition ofwebsockets2_generic::WebsocketsClient::connectSecure(arduino::String, int, arduino::String)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:719: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::recvHandshakeRequest(websockets2_generic::network2_generic::TcpClient&)': c:\users\markv\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\bits/basic_string.h:166: multiple definition ofwebsockets2_generic::recvHandshakeRequest(websockets2_generic::network2_generic::TcpClient&)' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\users\markv\appdata\local\arduino15\packages\arduino\tools\arm-none-eabi-gcc\7-2017q4\arm-none-eabi\include\c++\7.2.1\bits/basic_string.h:166: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsClient::WebsocketsClient()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: multiple definition ofwebsockets2_generic::WebsocketsClient::WebsocketsClient()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Client.hpp:51: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o: In function websockets2_generic::WebsocketsServer::accept()': c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:156: multiple definition ofwebsockets2_generic::WebsocketsServer::accept()' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:c:\Users\markv\Desktop\screen\libraries\WebSockets2_Generic\src/WebSockets2_Generic_Server.hpp:156: first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic18internals2_generic18WebsocketsEndpointE+0x0): multiple definition of vtable for websockets2_generic::internals2_generic::WebsocketsEndpoint' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic18internals2_generic18WebsocketsEndpointE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsClientE+0x0): multiple definition ofvtable for websockets2_generic::WebsocketsClient' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsClientE+0x0): first defined here C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\sketch_aug1a.ino.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsServerE+0x0): multiple definition of `vtable for websockets2_generic::WebsocketsServer' C:\Users\markv\AppData\Local\Temp\arduino\sketches\C38A2398EBE09833B4D8B55F206493C8\sketch\SocketHandler.cpp.o:(.rodata._ZTVN19websockets2_generic16WebsocketsServerE+0x0): first defined here collect2.exe: error: ld returned 1 exit status

exit status 1

Compilation error: exit status 1

cpp-tutor commented 3 months ago

Hi @markieboy223,

Apologies for the late reply. The only answer I have is to declare and define SocketHandler entirely within the sketch, in case you haven't done this already. This would then avoid the multiple inclusion problem?

Regards

On 6 Aug 2024 12:52, Mark van der Burg @.***> wrote: @cpp-tutor Are you able to pass the websocketclient into a .h and .cpp file with you sketch somehow?

markieboy223 commented 3 weeks ago

Hi @markieboy223, Apologies for the late reply. The only answer I have is to declare and define SocketHandler entirely within the sketch, in case you haven't done this already. This would then avoid the multiple inclusion problem? Regards On 6 Aug 2024 12:52, Mark van der Burg @.***> wrote: @cpp-tutor Are you able to pass the websocketclient into a .h and .cpp file with you sketch somehow?

Pretty late to this, but i managed to move the sockethandler to the main.ino. That fixed it.

markieboy223 commented 3 weeks ago

@cpp-tutor Right now im working on a solution with Ethernet, does this libary support that? And do you perhaps have any examples?

So using:

define WEBSOCKETS_USE_GIGA_R1_WIFI 1

include

include