Fehler beim Laden einer Funktion aus shared lib

Diskutiere Fehler beim Laden einer Funktion aus shared lib im C/C++ Forum im Bereich Programmieren unter Linux/Unix; 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....

  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?
     
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...