title: How to install Eclipse Paho C
body: <p>I'm trying to run a simple client program using Eclipse Paho C inside Eclipse.</p>
  
  <p>I did the following:<br>
  1) Create new project<br>
  2) Copy "include" folder and "lib" folder to the project directory<br>
  3) Add "include" folder directory to the includes path<br>
  4) Link the libraries with the linker as shown in the image below</p>
  
  <p><a href="https://image.ibb.co/byAPYa/Capture.jpg" rel="nofollow noreferrer"><img src="https://image.ibb.co/byAPYa/Capture.jpg" alt="Project Configuration"></a></p>
  
  <p>However when I build the following code :</p>
  
  <pre><code>#include "stdio.h"
  #include "stdlib.h"
  #include "string.h"
  #include "MQTTClient.h"
  
  #define ADDRESS     "tcp://localhost:1883"
  #define CLIENTID    "ExampleClientPub"
  #define TOPIC       "MQTT Examples"
  #define PAYLOAD     "Hello World!"
  #define QOS         1
  #define TIMEOUT     10000L
  
  int main(int argc, char* argv[])
  {
      MQTTClient client;
      MQTTClient_connectOptions conn_opts = MQTTClient_connectOptions_initializer;
      MQTTClient_message pubmsg = MQTTClient_message_initializer;
      MQTTClient_deliveryToken token;
      int rc;
  
      MQTTClient_create(&amp;client, ADDRESS, CLIENTID,
          MQTTCLIENT_PERSISTENCE_NONE, NULL);
      conn_opts.keepAliveInterval = 20;
      conn_opts.cleansession = 1;
  
      if ((rc = MQTTClient_connect(client, &amp;conn_opts)) != MQTTCLIENT_SUCCESS)
      {
          printf("Failed to connect, return code %d\n", rc);
          exit(-1);
      }
      pubmsg.payload = PAYLOAD;
      pubmsg.payloadlen = strlen(PAYLOAD);
      pubmsg.qos = QOS;
      pubmsg.retained = 0;
      MQTTClient_publishMessage(client, TOPIC, &amp;pubmsg, &amp;token);
      printf("Waiting for up to %d seconds for publication of %s\n"
              "on topic %s for client with ClientID: %s\n",
              (int)(TIMEOUT/1000), PAYLOAD, TOPIC, CLIENTID);
      rc = MQTTClient_waitForCompletion(client, token, TIMEOUT);
      printf("Message with delivery token %d delivered\n", token);
      MQTTClient_disconnect(client, 10000);
      MQTTClient_destroy(&amp;client);
      return rc;
  }
  </code></pre>
  
  <p>I get the following:</p>
  
  <pre><code>19:31:16 **** Rebuild of configuration Debug for project MQTT_C_Client ****
  Info: Internal Builder is used for build
  gcc "-IE:\\WS\\MQTT_C_Client\\includes" -O0 -g3 -Wall -c -fmessage-length=0 -o "src\\main.o" "..\\src\\main.c" 
  gcc "-LE:\\WS\\MQTT_C_Client\\libs" -o MQTT_C_Client.exe "src\\main.o" -lpaho-mqtt3a -lpaho-mqtt3as -lpaho-mqtt3c -lpaho-mqtt3cs 
  src\main.o: In function `main':
  E:\WS\MQTT_C_Client\Debug/../src/main.c:29: undefined reference to `MQTTClient_create'
  E:\WS\MQTT_C_Client\Debug/../src/main.c:34: undefined reference to `MQTTClient_connect'
  E:\WS\MQTT_C_Client\Debug/../src/main.c:43: undefined reference to `MQTTClient_publishMessage'
  E:\WS\MQTT_C_Client\Debug/../src/main.c:47: undefined reference to `MQTTClient_waitForCompletion'
  E:\WS\MQTT_C_Client\Debug/../src/main.c:49: undefined reference to `MQTTClient_disconnect'
  E:\WS\MQTT_C_Client\Debug/../src/main.c:50: undefined reference to `MQTTClient_destroy'
  collect2.exe: error: ld returned 1 exit status
  
  19:31:29 Build Finished (took 12s.643ms)
  </code></pre>
  
  <p>Any idea what am I missing ?</p>