Fehler beim Laden einer Funktion aus shared lib

Dieses Thema im Forum "C/C++" wurde erstellt von kingdom, 28.04.2006.

  1. #1 kingdom, 28.04.2006
    kingdom

    kingdom Mitglied

    Dabei seit:
    28.06.2004
    Beiträge:
    34
    Zustimmungen:
    0
    Ort:
    Deutschland
    Hallo,

    Ich habe bis dato noch nicht viel unter/für Linux programmiert und jetzt habe ich ein Problem, das ich mir einfach nicht erklären kann.
    Folgendes: Ich habe eine libany2.so.0.0.0 (mit KDevelop) erstellt in /usr/lib kopiert die Links angelegt (libany.so.0.0 ...) und ldconfig ausgeführt.
    Dann hab ich ein Testprogramm geschrieben, welches diese BIB nutzen soll.
    Code:
    #ifdef HAVE_CONFIG_H
    #include <config.h>
    #endif
    
    #include <iostream>
    #include <cstdlib>
    #include <dlfcn.h>
    
    using namespace std;
    
    int main(int argc, char* argv[])
    { 
    
    	void *handle;
    	int (*my_func)(int);
    	char *error;
    	
    	handle = dlopen ("libany2.so.0", RTLD_LAZY);
    	if (!handle) {
    		//fprintf (stderr, "%s\n", dlerror());
    		cout << "Error: " << dlerror() << endl;
    		exit(1);
    	}
    	cout << "SO_HANDLE: " << handle << endl;
    
    	dlerror();    /* Clear any existing error */
    	//*(void **) (&my_func) = dlsym(handle, "any_func");
    	my_func = (int (*)(int))dlsym(handle, "any_func");
    	cout << "FUNC_HANDLE: " << my_func << endl;
    	if ((error = dlerror()) != NULL)  {
    		cout << "Error: " << dlerror() << endl;
    		exit(1);
    	}
    
    	//printf ("%f\n", (*cosine)(2.0));
    	(*my_func)(3);
    	dlclose(handle);
    	
    	return EXIT_SUCCESS;
    }
    
    Wenn ich das ausführe gibt es folgendes aus:
    Code:
    SO_HANDLE: 0x804a028
    FUNC_HANDLE: 0
    Error: Betätigen Sie die Eingabetaste, um fortzufahren!
    
    Nach meinem Verständnis hat er also die BIB geöffnet und scheitert beim öffnen der Funktion.
    Woran kann das liegen?
     
  2. Anzeige

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

Fehler beim Laden einer Funktion aus shared lib

Die Seite wird geladen...

Fehler beim Laden einer Funktion aus shared lib - Ähnliche Themen

  1. Ubuntu fehler beim instalieren

    Ubuntu fehler beim instalieren: Hallo Ich wollte auf meinem Pc Ubuntu neben Windows instalieren da ich hörte ist besser geignet für steam games. Ich habe mir deshalb auf einem...
  2. fstab: Netzlaufwerk beim Booten einbinden verursacht Fehler

    fstab: Netzlaufwerk beim Booten einbinden verursacht Fehler: Ich benutze davfs2, um ein WebDAV-Verzeichnis einzubinden. Wenn ich folgenden Eintrag in meine fstab schreibe, kann ich das Verzeichnis wunderbar...
  3. KSH: Problem beim Umleiten des Fehlerkanals

    KSH: Problem beim Umleiten des Fehlerkanals: Hallo, in einen KSH Skript führe ich folgende Befehle aus RESULT=""; ERROR=""; idsldapsearch -h localhost -p $PORT -D $USER -w $PW -s sub -b...
  4. Fehlermeldung beim SSH-Login / Server nicht mehr erreichbar

    Fehlermeldung beim SSH-Login / Server nicht mehr erreichbar: Hallo, nach einem Neustart ist mein Lenny (Root-Server bei Hetzner) leider nicht mehr so richtig aufgewacht. Die Symptome: - Websites sind...
  5. VirtualBox Fehler beim Installieren

    VirtualBox Fehler beim Installieren: Hallo zusammen Ich habe mir das Fedora 15 aufegspielt und wollte mir heute mal die Virtualbox installieren. Lerider bekomme ich immer ein Fehler...