request for member ' ' in ' ' which is of non_clas... Vtable, Linker error?
<p>When i build my project (gnu g cc, -std=c++11) in Code::BLocks 16.01 on a Win10 x64 Machine, header files are included in the project, i get the following errors:</p>

<blockquote>
  <p>path..\src\Main.cpp|77|undefined reference to `Snmp_pp::UdpAddress::UdpAddress(char const*)'|</p>
  
  <p>path..\snmp_pp\address.h|574|undefined reference to `vtable for Snmp_pp::UdpAddress'|</p>
</blockquote>

<p>And i get a lot of other undefined reference errors.</p>

<p>Here are the parts of my code, there are a lot of commented lines, i skipped them.</p>

<p><strong>main.cpp:</strong></p>

<pre><code>#include &lt;stdio.h&gt;
#include "libsnmp.h"
#include "snmp_pp/snmp_pp.h"
using namespace Snmp_pp;

int main (){
  long rc;
  char buf [256];
  char const* ip_address;
  ip_address = "192.168.127.250";


  Snmp socket_startup();


  //Socket Informationen
   //Here comes line 77***************************
   UdpAddress udp_address(ipaddr);
   snmp_version version = version1;
   int retries = 1;
   int timeout = 100;
   u_short port = 161;
   OctetStr community ("public");

   //SNMP Session öffnen
   int status;

   Snmp snmp(status, 0,(udp_address.get_ip_version()==Address::version_ipv4));
     //SNMP Header Variablen ASN.1 encoding
     Pdu pdu;
     Vb  vb;

      //Erstelle OID Objekte
     Oid oid("1.3.6.1.2.1.1.1.0"); //sysDescr
     vb.set_oid(oid);
     pdu+= vb;
     **Here comes Line 100**
     udp_address.set_port(port);
     **Here comes Line 102**
     CTarget ctarget(udp_address);
     ctartget.set_version(version);
     ctartget.set_retry(retries);
     ctartget.set_timeout(timeout);
     ctartget.set_readcommunity(community);

     SnmpTarget *target;

     target = &amp;ctartget;

     status = snmp.get(pdu, *target);
</code></pre>

<p><strong>address.h</strong> Here is the UdpAddress Class defined, this is a part of the code</p>

<pre><code> //------------------------------------------------------------------------
 //---------[ UDP Address Class ]------------------------------------------
 //------------------------------------------------------------------------
 class DLLOPT UdpAddress : public IpAddress
 {
  public:
   /**
    * Construct an empty invalid UDP address.
    */
   UdpAddress();

   /**
    * Construct an UDP address from a string.
    *
    * The following formats can be used additional to those recognized by
    * IpAdress:
    * - Port added to IPv4 address with '/' or ':'
    *   ("192.168.17.1:161", "192.168.17.1/161", "printsrv/161")
    * - Port added to IPv6 address with '/' or using '[...]:'
    *   ("::1/162", "[::1]/162", "[::1]:162")
    *
    * @param inaddr - Hostname or IP address
    */
   UdpAddress(const char *inaddr);

   /**
    * Construct an UDP address from another UDP address.
    *
    * @param udpaddr - address to copy
    */
   UdpAddress(const UdpAddress &amp;udpaddr);

   /**
    * Construct an UDP address from a GenAddress.
    *
    * @param genaddr - address to copy
    */
   UdpAddress(const GenAddress &amp;genaddr);

   /**
    * Construct an UDP address from a IP address.
    * The port will be set to 0.
    *
   * @param ipaddr - address to copy
    */
   UdpAddress(const IpAddress &amp;ipaddr);

 /**
   * Return the IP version of the address.
   *
   * @return one of Address::version_type
    */
   virtual version_type get_ip_version() const { return ip_version; }

   /**
    * Construct an UDP address from a GenAddress.
    *
    * @param genaddr - address to copy
    */
     UdpAddress(const GenAddress &amp;genaddr);

   /**
    * Construct an UDP address from a IP address.
    * The port will be set to 0.
    *
    * @param ipaddr - address to copy
    */
   UdpAddress(const IpAddress &amp;ipaddr);

   /**
    * Destructor (ensure that SnmpSyntax::~SnmpSyntax() is overridden).
    */
   ~UdpAddress() {}
</code></pre>

<p>The included header files are from the company HP from the SNMP++3.3.7 project<br>
<a href="http://man.chinaunix.net/develop/snmp_pp/index.htm" rel="nofollow">Link to Page</a><br>
My folder structure is:    </p>

<pre><code>main_dir\src\main.cpp   
main_dir\libsnmp.h   
main_dir\snmp_pp\all other header files  
</code></pre>

<p>Heres my build output:    </p>

<pre><code>  g++.exe -Wall -std=c++11 -g -std=c++11 -I"C:\Users\Kneringer Georg\Documents\CodeBlocks\SNMP_ZIM" -I"C:\Users\Kneringer Georg\Documents\CodeBlocks\SNMP_ZIM\snmp_pp" -c "C:\Users\Kneringer Georg\Documents\CodeBlocks\SNMP_ZIM\src\Main.cpp" -o obj\Debug\src\Main.o
</code></pre>

<p>I need help with understanding what i did wrong. I guess that it is a Linker Error.</p>