Fehler beim Laden einer Funktion aus shared lib

K

kingdom

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

Ähnliche Themen

Unix Webserver mit HTML Seite erstellen

Funktion nicht gefunden

Fehler beim Kompilieren von qcserial

Xubuntu - AVR32-linux crosscompile sqlite

[C++] Socket Probleme mit Adresse...

Zurück
Oben