SDL_net Linker fehler



  • Hallo Leute,hab mal angefangen was mit SDL_net zu machen und habe irgendwie einen Linker Fehler,obwohl ich alle Libs eingebunden habe.
    Den Code hab ich vom Wiki tutorial:

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include "SDL_net.h"
    
    #pragma comment(lib,"SDL.lib")
    #pragma comment(lib,"SDLmain.lib")
    
    int main(int argc, char **argv) 
    { 
    	TCPsocket sd, csd; /* Socket descriptor, Client socket descriptor */ 
    	IPaddress ip, *remoteIP; int quit, quit2; char buffer[512];
    if (SDLNet_Init() < 0) { fprintf(stderr, "SDLNet_Init: %s\n", SDLNet_GetError()); exit(EXIT_FAILURE); }
    /* Resolving the host using NULL make network interface to listen */ if (SDLNet_ResolveHost(&ip, NULL, 2000) < 0) { fprintf(stderr, "SDLNet_ResolveHost: %s\n", SDLNet_GetError()); exit(EXIT_FAILURE); }
    /* Open a connection with the IP provided (listen on the host's port) */ if (!(sd = SDLNet_TCP_Open(&ip))) { fprintf(stderr, "SDLNet_TCP_Open: %s\n", SDLNet_GetError()); exit(EXIT_FAILURE); }
    /* Wait for a connection, send data and term */ quit = 0; while (!quit) { /* This check the sd if there is a pending connection. * If there is one, accept that, and open a new socket for communicating */ if ((csd = SDLNet_TCP_Accept(sd))) { /* Now we can communicate with the client using csd socket * sd will remain opened waiting other connections */
    /* Get the remote address */ if ((remoteIP = SDLNet_TCP_GetPeerAddress(csd))) /* Print the address, converting in the host format */ printf("Host connected: %x %d\n", SDLNet_Read32(&remoteIP->host), SDLNet_Read16(&remoteIP->port)); else fprintf(stderr, "SDLNet_TCP_GetPeerAddress: %s\n", SDLNet_GetError());
    quit2 = 0; while (!quit2) { if (SDLNet_TCP_Recv(csd, buffer, 512) > 0) { printf("Client say: %s\n", buffer);
    if(strcmp(buffer, "exit") == 0)	/* Terminate this connection */ { quit2 = 1; printf("Terminate connection\n"); } if(strcmp(buffer, "quit") == 0)	/* Quit the program */ { quit2 = 1; quit = 1; printf("Quit program\n"); } } }
    /* Close the client socket */ SDLNet_TCP_Close(csd); } }
    SDLNet_TCP_Close(sd); SDLNet_Quit();
    return EXIT_SUCCESS; }
    

    Könnt ihr mir helfen?


  • Mod

    Psssst!

    Wenn du Fehler hast, dann musst du das geheim halten! Die Leute hier haben eine Freude da dran, das selber auszuknobeln. Du verschweigst schon sehr schön die Fehlermeldung, die IDE und das was du überhaupt gemacht hast. Extra Pluspunkte für Aussagen wie "obwohl ich alle Libs eingebunden habe", bei denen man auf deine Fachkenntnisse vertrauen muss, obwohl man keine Ahnung hat, wer du bist. Der Code ist auch sehr schön obfus formatiert, so dass man lange da dran puzzeln kann 👍 . Und der Verweis auf eine nicht näher genannte Wiki ist das i-Tüpfelchen.
    Aber die Bibliothek die du benutzt zu verraten ist einfach nur Spielverderbererei. Und das sogar in der Überschrift! 😡 So macht das keinen Spaß! 👎 👎 👎



  • Das tut mir jetzt leid,ich wusste das nicht,aber danke für den Tipp 😉



  • naja als bibliothek nutzt er SDL, sagte er doch?!?

    und ist die nicht eher C als C++?
    dann verschiebt mal den thread



  • Gehört dieser Brainfuck wirklich hierhin?



  • Was ist den los??? 😕


  • Mod

    [Rewind] schrieb:

    Gehört dieser Brainfuck wirklich hierhin?

    Nein, ganz bestimmt nicht. Aber da der Threadersteller ironieresistent ist, weiß ich nicht, wohin ich verschieben soll. Hat er Probleme beim Programmieren mit der SDL (Grafikforum)? Probleme mit der Installation der SDL (RudP/TRudPC)? Probleme mit seiner IDE (Compiler/IDE-Forum)? Hat er einfach nur einen dummen Fehler gemacht (kann hier gelöst werden)?



  • Tut mir leid ,dass ich etwas verpeilt bin.Es geht hauptsehlich darum ,dass ich nicht weiß,welche libs man für SDL_net einbinden muss,da ich bei semtlichen Befehlen,die aus SL_net stammen Linker Fehler bekomme wie z.b:

    1>main.obj : error LNK2001: Nicht aufgelöstes externes Symbol "_SDLNet_Quit".

    Normalerweise ist das das Zeichen für eine nicht eingebundene lib,jedoch weiß ich nicht welche.Ich hab bisher nur SDL.lib und SDLmain.lib eingebunden.

    Falls jemand mal Projekte mit SDL_net gemacht hat währe es nett,wenn er mir sagne könnte welche libs er einbindet.

    PS:Hier mal ein beispiel:

    #include "SDL_net.h"
    
    #pragma comment(lib,"SDL.lib")
    #pragma comment(lib,"SDLmain.lib")
    
    int main(int argc, char **argv) 
    { 
    	SDLNet_Init(); //nur das Starten der SDL_net ....
    return EXIT_SUCCESS; 
    }
    

    und ich bekomme den Fehler:

    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_SDLNet_Init" in Funktion "_SDL_main".
    Dankeschön



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C++ (auch C++0x) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Du musst noch gegen SDL_net.lib linken.



  • Danke ich hab mal ein bisschen gesucht,aber es gibt irgendwie niergendwo was zum downloaden.Bei den Sources Files ist auch nichts dabei.Weiß jemand wo man das herkriegt?


Anmelden zum Antworten