Server erstellen



  • Hi,
    ich hab malo versucht einen Server zu erstellen, einen ganz ganz kileinen ohne was bsonderes xD.
    Aber es gibt trotzdem ein Problem: Es lässt sich nicht starten ^^
    Die Fehler sind: Es gibt nicht aufgelöste externe Verweise. Hier der Code:

    #include <iostream>
    #include <WinSock2.h>
    #include <windows.h>
    using namespace std;
    
    int startWinsock(void);
    
    #pragma comment (lib, "Ws2_32.lib")
    
    int main()
    {
    
      long				rc;
      SOCKET			acceptSocket;
      SOCKADDR_IN       addr;
    
      rc=startWinsock();
    
      if(rc!=0)
      {
    
        cout << "WinSock konnte nicht gestartet werden! Fehlercode: " << WSAGetLastError << endl;
    
        getchar();
    	return 1;
      }
    
      else
      {
    	cout << "WinSock gestartet!" << endl;
      }  
    
      acceptSocket=socket(AF_INET,SOCK_STREAM,0);
    
      if(acceptSocket==INVALID_SOCKET)
      {
    
        cout << "Der Socket konnte nicht erstellt werden! Fehlercode: " << WSAGetLastError << endl;
    	getchar();
        return 1;
    
      }
      else
      {
        cout << "Socket erstellt!" << endl;
      }  
      getchar();
      return 0;
    
    }
    
    int startWinsock(void)
    
    {
    
      WSADATA wsa;
    
      return WSAStartup(MAKEWORD(2,0),&wsa);
    
    }
    


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

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

    Dieses Posting wurde automatisch erzeugt.


  • Mod

    Es wäre auch nützlich zu wissen, welche Symbole nicht aufgelöst werden.



  • Kannst du noch deinen Compiler angeben? Visual Studio kompiliert es bei mir nämlich problemlos.
    Ansonsten vielleicht mal die Reihenfolge anschauen, in der winsock2.h und windows.h eingebunden werden, das hat bei mir auch öfter zu aufgelösten Symbolen geführt.



  • Also ich benutze Visual Studio c++ 2010
    Und die Fehlermeldungen:

    1: fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
    2:  error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_WinMain@16" in Funktion "___tmainCRTStartup".
    

    PS: muss es eig ein Windows-Proj. sein oder darf es auch ein Konsolen Projekt sein?



  • Killur schrieb:

    PS: muss es eig ein Windows-Proj. sein oder darf es auch ein Konsolen Projekt sein?

    Es muss ein Konsolenprojekt sein. Wenn es ein normales Win32 Projekt ist, musst du die WinMain() Funktion benutzen, statt der main() Funktion.



  • Ja ich hab ein KonsolenProjekt... Wo liegt jetzt der Fehler?!?!


  • Mod

    Killur schrieb:

    Ja ich hab ein KonsolenProjekt... Wo liegt jetzt der Fehler?!?!

    Nein Du hast ein Projekt, dass auf Windows UI eingestellt ist.

    Linker Projekt Optionen -> System -> SubSystem -> Console



  • Killur schrieb:

    Ja ich hab ein KonsolenProjekt... Wo liegt jetzt der Fehler?!?!

    Bist du dir sicher? Bei mir wird es als Konsolenprojekt bei Visual C++ 2010 einwandfrei kompiliert.

    Leg doch einfach mal nochmal ein neues Konsolenprojekt an und versuch es nochmal, vielleicht klappt es ja dann.



  • Ich habe deinen Code mit Borland kompiliert.
    Borland wandelt das ganze problemlos um.


  • Mod

    nobody1996 schrieb:

    Ich habe deinen Code mit Borland kompiliert.
    Borland wandelt das ganze problemlos um.

    Es liegt nicht am Code! Es liegt an den Linker Einstellungen.
    Siehe mein Posting.



  • Ich habs jetzt hinbekommen , thx ! ^^


Anmelden zum Antworten