<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[C library in C++ (verse)]]></title><description><![CDATA[<p>Hi. Ich würde gerne ein C-Library in C++ verwenden, nur leider macht da der Compiler nicht mit. Es handelt sich um verse.</p>
<p>Ich habe versucht dieses beispiel hier zu compilieren:<br />
<a href="http://verse.blender.org/coding-intro/" rel="nofollow">http://verse.blender.org/coding-intro/</a></p>
<pre><code>arne@arne-laptop:~/Desktop$ gcc verse.c -lverse -o v1
arne@arne-laptop:~/Desktop$ g++ verse.c -lverse -o v1
verse.c: In function »int main()«:
verse.c:34: Fehler: ungültige Umwandlung von »void* (*)(VNodeID, const char*, uint8*)« in »void*«
verse.c:34: Fehler:   Argument 1 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:34: Fehler: ungültige Umwandlung von »void (*)(void*, uint32, void*, void*, const uint8*)« in »void*«
verse.c:34: Fehler:   Argument 2 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:35: Fehler: ungültige Umwandlung von »void (*)(VNodeID, VNodeType, VNodeOwner)« in »void*«
verse.c:35: Fehler:   Argument 1 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:35: Fehler: ungültige Umwandlung von »void (*)(void*, VNodeID, VNodeType, VNodeOwner)« in »void*«
verse.c:35: Fehler:   Argument 2 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
arne@arne-laptop:~/Desktop$
</code></pre>
<p>wie man sieht gibt es mit dem c-compiler absolut keine probleme, aber c++ klappt nicht.<br />
Hat einer von euch eine Ahnung, wie ich die library trotzdem verwenden kann?</p>
<p>hier noch mal der quelltext:</p>
<pre><code class="language-cpp">/* A minimalist Verse example. Ask server for nodes, print information.
 *
 * Last updated on 2005-08-26.
*/

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

#include &quot;verse.h&quot;      /* Bring in the Verse API. */

/* A callback for connection acceptation: will be called when server accepts this client. */
static void callback_connect_accept(void *user, uint32 avatar, void *address, void *connection, const uint8 *host_id)
{
    uint i, mask = 0;

    printf(&quot;Connected to a Verse host!\n\nListing nodes:\n&quot;);

    /* Build node subscription mask, include all node types. */
    for(i = 0; i &lt; V_NT_NUM_TYPES; i++)
        mask |= 1 &lt;&lt; i;
    verse_send_node_index_subscribe(mask);     /* Request listing of all nodes. */
}

/* A callback for node creation: is called to report information about existing nodes, too. */
static void callback_node_create(void *user, VNodeID node_id, VNodeType type, VNodeOwner owner)
{
    printf(&quot; Node #%u has type %u, owner %s\n&quot;, node_id, type, owner == VN_OWNER_MINE ? &quot;me&quot; : &quot;someone else&quot;);
}

int main(void)
{
    /* Register callbacks for interesting commands. */
    verse_callback_set(verse_send_connect_accept, callback_connect_accept, NULL);
    verse_callback_set(verse_send_node_create,	  callback_node_create, NULL);

    /* Kick off program by connecting to Verse host on local machine. */
    verse_send_connect(&quot;My_name&quot;, &quot;My_password&quot;, &quot;localhost&quot;, NULL);
    while(TRUE)
        verse_callback_update(100);   /* Listen to network, get callbacks. */

    return EXIT_SUCCESS;    /* This is never reached. */
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/topic/251652/c-library-in-c-verse</link><generator>RSS for Node</generator><lastBuildDate>Tue, 15 Sep 2026 10:08:14 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/251652.rss" rel="self" type="application/rss+xml"/><pubDate>Thu, 08 Oct 2009 11:28:13 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to C library in C++ (verse) on Thu, 08 Oct 2009 11:28:13 GMT]]></title><description><![CDATA[<p>Hi. Ich würde gerne ein C-Library in C++ verwenden, nur leider macht da der Compiler nicht mit. Es handelt sich um verse.</p>
<p>Ich habe versucht dieses beispiel hier zu compilieren:<br />
<a href="http://verse.blender.org/coding-intro/" rel="nofollow">http://verse.blender.org/coding-intro/</a></p>
<pre><code>arne@arne-laptop:~/Desktop$ gcc verse.c -lverse -o v1
arne@arne-laptop:~/Desktop$ g++ verse.c -lverse -o v1
verse.c: In function »int main()«:
verse.c:34: Fehler: ungültige Umwandlung von »void* (*)(VNodeID, const char*, uint8*)« in »void*«
verse.c:34: Fehler:   Argument 1 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:34: Fehler: ungültige Umwandlung von »void (*)(void*, uint32, void*, void*, const uint8*)« in »void*«
verse.c:34: Fehler:   Argument 2 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:35: Fehler: ungültige Umwandlung von »void (*)(VNodeID, VNodeType, VNodeOwner)« in »void*«
verse.c:35: Fehler:   Argument 1 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
verse.c:35: Fehler: ungültige Umwandlung von »void (*)(void*, VNodeID, VNodeType, VNodeOwner)« in »void*«
verse.c:35: Fehler:   Argument 2 von »void verse_callback_set(void*, void*, void*)« wird initialisiert
arne@arne-laptop:~/Desktop$
</code></pre>
<p>wie man sieht gibt es mit dem c-compiler absolut keine probleme, aber c++ klappt nicht.<br />
Hat einer von euch eine Ahnung, wie ich die library trotzdem verwenden kann?</p>
<p>hier noch mal der quelltext:</p>
<pre><code class="language-cpp">/* A minimalist Verse example. Ask server for nodes, print information.
 *
 * Last updated on 2005-08-26.
*/

#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

#include &quot;verse.h&quot;      /* Bring in the Verse API. */

/* A callback for connection acceptation: will be called when server accepts this client. */
static void callback_connect_accept(void *user, uint32 avatar, void *address, void *connection, const uint8 *host_id)
{
    uint i, mask = 0;

    printf(&quot;Connected to a Verse host!\n\nListing nodes:\n&quot;);

    /* Build node subscription mask, include all node types. */
    for(i = 0; i &lt; V_NT_NUM_TYPES; i++)
        mask |= 1 &lt;&lt; i;
    verse_send_node_index_subscribe(mask);     /* Request listing of all nodes. */
}

/* A callback for node creation: is called to report information about existing nodes, too. */
static void callback_node_create(void *user, VNodeID node_id, VNodeType type, VNodeOwner owner)
{
    printf(&quot; Node #%u has type %u, owner %s\n&quot;, node_id, type, owner == VN_OWNER_MINE ? &quot;me&quot; : &quot;someone else&quot;);
}

int main(void)
{
    /* Register callbacks for interesting commands. */
    verse_callback_set(verse_send_connect_accept, callback_connect_accept, NULL);
    verse_callback_set(verse_send_node_create,	  callback_node_create, NULL);

    /* Kick off program by connecting to Verse host on local machine. */
    verse_send_connect(&quot;My_name&quot;, &quot;My_password&quot;, &quot;localhost&quot;, NULL);
    while(TRUE)
        verse_callback_update(100);   /* Listen to network, get callbacks. */

    return EXIT_SUCCESS;    /* This is never reached. */
}
</code></pre>
]]></description><link>https://www.c-plusplus.net/forum/post/1789597</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789597</guid><dc:creator><![CDATA[Krux]]></dc:creator><pubDate>Thu, 08 Oct 2009 11:28:13 GMT</pubDate></item><item><title><![CDATA[Reply to C library in C++ (verse) on Thu, 08 Oct 2009 11:52:26 GMT]]></title><description><![CDATA[<ol>
<li>du compilierst den C-Code mit einem C-Compiler (nicht mit dem C++-Compiler).</li>
<li>du bindest den C-Header, umgeben von einer <code>extern &quot;C&quot;</code> -Deklaration in die nötigen C++-Übersetzungseinheiten ein.</li>
<li>du kompilierst die C++-Sachen mit dem C++-Compiler</li>
<li>du linkst alles zusammen - sollte dann klappen.</li>
</ol>
]]></description><link>https://www.c-plusplus.net/forum/post/1789613</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1789613</guid><dc:creator><![CDATA[pumuckl]]></dc:creator><pubDate>Thu, 08 Oct 2009 11:52:26 GMT</pubDate></item></channel></rss>