Linker error

Sotares

Mitglied
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:
#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
 
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:
#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
 
Zuletzt bearbeitet:
Hi.
Sotares hat gesagt.:
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.

Sotares hat gesagt.:
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ß
 
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
 
Zurück