Unbekannter Fehler beim Kompilieren

Dieses Thema im Forum "C/C++" wurde erstellt von homoeolin, 04.02.2004.

  1. #1 homoeolin, 04.02.2004
    homoeolin

    homoeolin QT-Freak

    Dabei seit:
    07.12.2002
    Beiträge:
    75
    Zustimmungen:
    0
    Ort:
    Germany, Speyer
    Hallo,

    scheint so als haette ich einen unbekannten oder seltenen Kompilierfehler gefunden/erzeugt !
    :help:
    Auf jeden Fall taucht der auf Foren im Internet net auf !
    Beim Kompilieren eines QT-Prograemmchens (Server) gibt der mit folgenden Code aus:

    Code:
    tobias@hpcd079:~/sstatserver> make
    gcc -c -Wall -W -O2 -fno-strength-reduce -I/usr/lib/qt3/include -o httpserv.o httpserv.cpp
    httpserv.cpp: In member function `Socket* ServerSocket::accept()':
    httpserv.cpp:171: error: invalid conversion from `int*' to `socklen_t*'
    make: *** [httpserv.o] Fehler 1
    tobias@hpcd079:~/sstatserver>
    
    Kann mir zwar was drunter vorstellen, aber...
    Also ich denke der gibt ne Fehlermeldung, weil mein Programm/Code versucht eine int-Funktion in eine Funktion socklen_t umzuwandeln.
    Allerdings kommt socklen_t und aehnliches in meinem Quellcode nicht vor. Nur natuerlicherweise Socketcodes mit QT.
    Aber die Funktion bzw. diese Variable oder Namen gibts net !
    Deshalb schlies ich draus, dass wahrscheinlich socklen_t eine Standartfunktion, eingefuehrt aus Standart-QT-Headern ist !
    Hier meine Includes:

    Code:
    #include <qapplication.h>
    #include <qfile.h>
    #include <qintdict.h>
    #include <qsocketnotifier.h>
    #include <qstring.h>
    #include <qtextstream.h>
    
    /* Platform-specific includes. */
    #include <netinet/in.h>
    #include <sys/socket.h>
    #include <sys/types.h>
    #include <unistd.h>
    So und nun der Quellcode, in welchen der Fehler angeblich stecken soll:

    Code:
    Socket* ServerSocket::accept()
    {
      struct sockaddr client_addr; /* Beinhaltet IP-Adresse vom Client */
      int len;
      // Nimm die Verbindung von Client an
      int newfd = ::accept( handle(), &client_addr, &len );
      Socket* newSocket = new Socket();
      newSocket->setFd( newfd );
    
      return newSocket;
    }
    Tja. ;(

    Wenn ihr noch Fragen habt zum Code stellt die bitte ruhig, bin fuer alle Hilfe dankbar ! ;)

    Mein System ist folgendes:
    SuSE Linux Professionel 9.0 ohne Updates
    gcc-Version 3.3.1 (SuSE Linux)
    QT Version 3.2.1 (mit Developer-RPM-Packeten und deren Docu!)

    Thanx ! ;)
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    mach doch einfach statt int len; ein socklen_t len;
    du verwendest das ja anscheinend nicht weiter, da kann dir der typ egal sein.

    auf bald
    oenone
     
  4. #3 homoeolin, 05.02.2004
    homoeolin

    homoeolin QT-Freak

    Dabei seit:
    07.12.2002
    Beiträge:
    75
    Zustimmungen:
    0
    Ort:
    Germany, Speyer
    Habs Problem gelöst.

    Hab das Problem selbstständig gelöst ! ;)

    Der springende Punkt:
    Manchmal sollte man in die man gucken !

    man socklen_t

    und durchlesen !
    Da steht ne Funktionsbeschreibung mit allen Typen, die
    als Parameter übergeben werden !

    Und dein Tip war richtig ! :P
    Das war die Lösung. :]

    Thanx ! :dafuer:

    (Will an dieser Stelle nur verdeutlichen: man is cool ! ;) )
     
  5. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    Code:
    httpserv.cpp:171: error: invalid conversion from `int*' to `socklen_t*'
    das haette dir auch schon den hinweis geben muessen...

    naja, fehlermeldungen sind ja nicht da um gelesen zu werden......

    auf bald
    oenone
     
  6. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
Thema:

Unbekannter Fehler beim Kompilieren

Die Seite wird geladen...

Unbekannter Fehler beim Kompilieren - Ähnliche Themen

  1. unbekannter mount fehler beim cdrom laufwerk

    unbekannter mount fehler beim cdrom laufwerk: Das hatte ich auch noch nie mount /dev/cdrom /mnt/cdrom/ mount: block device /dev/hdc is write-protected, mounting read-only mount: /dev/hdc:...
  2. 10.2 - unbekannter Fehler bei Installation

    10.2 - unbekannter Fehler bei Installation: Hallo Leute, es ist vielleicht nur eine Kleinigkeit, doch auch ich kenne mich bisher nur wenig mit Linux bzw. openSUSE aus. Hab das x86-64...
  3. Sed od. Awk - Ersetzen unbekannter parameter

    Sed od. Awk - Ersetzen unbekannter parameter: Hallo liebes Forum, tja mein erster Post gleich ne Frage. Sorry. Ich habe ein Textfile indem sich verschiedene Strings befinden. Diese...
  4. unbekannter cron auftrag

    unbekannter cron auftrag: Hallo, ich habe eben einen Cron Auftrag auf unsere Firmenkiste gefunden den ich nicht zuordnen kann. Ausserdem weiß ich nicht was genau dieser...
  5. unbekannter Dateisystemtyp „vfat“

    unbekannter Dateisystemtyp „vfat“: Hi, versuche gerade die Compact Flash Card meienr DigiCam mit openSUSE 10.2 auszulesen. Leider ohne erfolg. Weder der Automount noch manuelles...