Frage

Mit JVMTI entwickle ich einen Agenten, um Java -Anwendungen zu profilieren. Daher wird eine gemeinsame Bibliothek libagent.So zusammengestellt. Weiter benutze ich das QT -Framework:

Im Moment besteht es nur durch diese beiden Quelldateien:Agent.cpp und Agentserver.cpp

Wenn Sie jedoch eine Java -Anwendung mit meiner gemeinsam genutzten Bibliothek starten, erhalte ich also den Fehler: Undefiniertes Symbol: _ZTV11AgentServer (./Libagent.so)

Wenn ich LDD betreibe, bekomme ich das gleiche Abhängigkeitsproblem:

ldd -d libagent.so 
linux-vdso.so.1 =>  (0x00007fffeb333000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007f8b6731b000)
libm.so.6 => /lib/libm.so.6 (0x00007f8b67098000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007f8b66e81000)
libc.so.6 => /lib/libc.so.6 (0x00007f8b66afe000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8b67844000)
undefined symbol: _ZTV11AgentServer (./libagent.so)

Mein aktueller Befehl für Kompilierungen lautet:

g++ $(CXXFLAGS) -fPIC -shared -o libagent.so $(INCPATH) ../src/agent.cpp ../src/agentserver.cpp

Wobei $ (cxxflags) -m64 -pipe -o2 -wall -w -d_reentrant $ ist (definiert)

wobei $ (definiert) ist -dqt_no_debug -dqt_gui_lib -dqt_network_lib -dqt_core_lib -dqt_shared ist

wobei $ (IncPath) -i/home/konrad/qtsdk -2010.05/qt/mkspecs/linux -g ++ -64 -i ../ src -i/home/konrad/qtsdk -2010.05/qt/inclust/qtcore -i ist /home/konrad/qtsdk-2010.05/qt/include/QtNetwork -I/home/konrad/qtsdk-2010.05/qt/include/QtGui -I/home/konrad/qtsdk-2010.05/qt/include -I/usr/lib /jvm/java-6-openjdk/include -i/usr/lib/jvm/java-6-openjdk/include/linux -i. -ICH. -I ../ src -i.

Ich habe einige Zeit in die Erforschung dieser Probleme gesteckt, aber keiner hat diesen Fehler gelöst.


Dies ist der Header -Code des Agentservers.cpp: Agentserver.h

War es hilfreich?

Lösung

Die Fehlermeldung wird Ihnen mitgeteilt, dass ein Element in Agentservers vtable undefiniert ist. Die Verwendung von Q_OBJECT erfordert, dass Sie rennen moc auf Ihrer Quelle - und Link zu den QT -Bibliotheken.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top