ich versuche gerade eine *.so datei unter linux zu erstellen. Ich arbeite mit eclipse und qt 4.4!
Ich hatte mich an diesem thread http://www.qtforum.de/forum/viewtopic.p ... ib&start=0 orientiert, und zusätzlich an einem buch.
Jedoch verstehe ich einiges noch nicht ganze, bzw funktioniert es nicht was ich mache.
Ich habe nach dem buch die lib wie unten gebaut, und diese soll lediglich eine messagebox aufrufen.
testlib.h
Code: Alles auswählen
#ifndef TESTLIB_H_
#define TESTLIB_H_
#ifdef BUILD_DLL
#define EXPORT_DLL Q_DECL_EXPORT
#else
#define EXPORT_DLL
#endif
#include <QtGui>
#include <QObject>
class EXPORT_DLL testlib : public QObject {
Q_OBJECT
public:
testlib() {};
~testlib() {};
void printOut();
};
#endif /* TESTLIB_H_ */
Code: Alles auswählen
#include "testlib.h"
void testlib::printOut() {
QMessageBox::information(NULL,QObject::tr("Erfolgreich"),QObject::tr("Dynamische Bibliothek erfolgreich ausgeführt!"));
}
Code: Alles auswählen
TEMPLATE = lib
TARGET =
DEPENDPATH += .
INCLUDEPATH += .
CONFIG += qt dll thread
# Input
HEADERS += testlib.h
SOURCES += testlib.cpp
libtestlib.so
libtestlib.so.1
libtestlib.so.1.0
libtestlib.so.1.0.0
wobei alle bis auf libtestlib.so.1.0.0 links auf diese datei sind!
Wenn ich die datei libtestlib.so.1.0.0 jetzt in ein anderes testprojket kopiere, inkl. header (testlib.h) und diese einbinde und dann das programm starten will, kommt folgende fehlermeldung:
Könnte mir bitte jemand sagen, was ich falsch gemacht habe? Oder hat jemand einen link zu einem kompletten und funktionierenden beispiel für linux? Oder hat jemand direkt ein beispiel?/testapp: error while loading shared libraries: libtestlib.so.1: cannot open shared object file: No such file or directory
Danke!
Mfg