tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
1714
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    Avatar von Sotares
    Sotares Sotares ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    20
    Guten Tag,
    ich habe mir hier den Source Code für die RC4 implementierung runtergeladen.

    Beim compilieren kommt mir immer die Fehlermeldung: " [Linker error] undefined reference to `WinMain@16' "

    Danach versuchte ich mit Dev-C-4.9.9.2 unter XP folgenden Code einzubinden, nachdem ich das openssl Packet heruntergeladen hatte.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <openssl/rc4.h>
     
     
    int main()
    {
       
    int keylen=16;
    unsigned char* data="test";
       
    RC4_KEY key;
    RC4_set_key(&key, keylen, data);
     
    }

    Dies wird mir mit dem Fehler " [Linker error] undefined reference to `RC4_set_key' " quittiert.

    Habe irgendwo mal was gelesen, dass noch Objektdateien und Bibliotheken mit angegeben werden müssen. (Unter include/openssl habe ich aber nur Header Dateien)

    Bin ich da vielleicht auf dem Holzweg?

    Gruss,
    Sotares
     

  2. #2
    basd basd ist offline Mitglied Brokat
    Registriert seit
    Nov 2003
    Ort
    München
    Beiträge
    264
    wenn du keine Libs hast must du diese erst bauen und diese dann explizit zum linken angeben
     

  3. #3
    Avatar von Sotares
    Sotares Sotares ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    20
    Habe die Objektdateien gefunden: libssl.a & libssl32.a und unter: Projekt Optionen -> Parameter -> Linker abwechselnd hinzu gefügt. Leider geht es immer noch nicht.

    Wenn ich hingegen die libcrypto.a oder libeay32.a nehme, so lässt sich das ganze wunderbar kompilieren aber es erfolgt keine Textausgabe.

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>
    #include <openssl/rc4.h>
     
     
    int main()
    {
       
    int keylen=16;
    unsigned char* data="test";
       
    RC4_KEY key;
    RC4_set_key(&key, keylen, data);
     
    printf("Dies ist ein Test");
    system("PAUSE");
    }

    Ich stochere vermutlich im Nebel aber wir haben es hier heute auch neblig.

    Gruss,
    Sotares
    Geändert von Sotares (12.11.05 um 23:59 Uhr)
     

  4. #4
    deepthroat deepthroat ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jun 2005
    Beiträge
    8.168
    Hi.
    Zitat Zitat von Sotares
    Guten Tag,
    ich habe mir hier den Source Code für die RC4 implementierung runtergeladen.

    Beim compilieren kommt mir immer die Fehlermeldung: " [Linker error] undefined reference to `WinMain@16' "
    Du kannst diesen Code zwar kompilieren, allerdings nicht linken weil die main Funktion mit Hilfe von C Präprozessor Direktiven auskommentiert ist. Entweder du bindest die Objekt-Datei in dein eigenes Programm ein, oder du definierst beim Kompilieren die Variable TEST bzw. entfernst die #ifdef ... #endif Anweisungen.

    Zitat Zitat von Sotares
    Danach versuchte ich mit Dev-C-4.9.9.2 unter XP folgenden Code einzubinden, nachdem ich das openssl Packet heruntergeladen hatte.

    ...

    Dies wird mir mit dem Fehler " [Linker error] undefined reference to `RC4_set_key' " quittiert.

    Habe irgendwo mal was gelesen, dass noch Objektdateien und Bibliotheken mit angegeben werden müssen. (Unter include/openssl habe ich aber nur Header Dateien)
    Hier (http://www.openssl.org/related/binaries.html) findest du vorkompilierte Versionen von openssl. Ansonsten mußt du einfach mal die README und die INSTALL.W32 Datei lesen.

    Gruß
     
    If at first you don't succeed, try again. Then quit. No use being a damn fool about it.

  5. #5
    Avatar von Sotares
    Sotares Sotares ist offline Mitglied
    Registriert seit
    Jun 2004
    Beiträge
    20
    Hi deepthroat.

    Hab die ifdef & endif Anweisungen auskommentiert und nun gibt es keine Fehlermeldungen mehr. In der Konsole erscheint aber keine einzige Textausgabe (z.B. RC4 Validation Tests)

    Ich werde mal ein wenig weiter probieren...

    Vielen Dank für die Hilfe

    Sotares
     

Ähnliche Themen

  1. Linker error
    Von rojeroje im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 22.09.09, 20:09
  2. Linker Error
    Von Sek77 im Forum C/C++
    Antworten: 1
    Letzter Beitrag: 02.04.08, 18:36
  3. [c++]Linker Error
    Von mcyonx im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 12.01.08, 23:03
  4. [Dev-C++] Linker Error, was ist zu tun?
    Von meilon im Forum C/C++
    Antworten: 2
    Letzter Beitrag: 09.08.06, 11:10
  5. Linker Error
    Von paddymann im Forum C/C++
    Antworten: 13
    Letzter Beitrag: 21.07.05, 12:47