Frage

Nachdem ich meinen ersten JVMTI -Agenten erfolgreich implementiert habe und das Gebäude mit dem G ++ - Compiler abgeschlossen habe, möchte ich den Bauprozess in mein QT -Projekt integrieren.

Ich stehe jedoch mit einigen Problemen der Build -Prozesskonfiguration vor:

Die Parameter, die ich mit dem G ++ - Compiler ausführen würde, sieht folgendermaßen aus:

g++ -fPIC -shared agent.cpp -o libagent.so -I /usr/lib/jvm/java-6-openjdk/include -I /usr/lib/jvm/java-6-openjdk/include/linux

Das funktioniert sehr gut. Nun zu QMake:

Ich bin mir des Parameters CXXFLAGs bewusst, um dem von QMake verwendeten C ++ - Compiler weitere Parameter hinzuzufügen. Wie kann ich diesen parametrisierten Compiler -Aufruf in QMake jedoch konvertieren?

War es hilfreich?

Lösung

Mit der Hilfe von QT undokumentiert QMake Ich habe eine benutzerdefinierte Konfiguration in QMake herausgefunden. Es ist jedoch nicht makellos, es produziert jetzt ein libagent. SO und ein Agent, der nicht benötigt wird.

SOURCES_AGENT = agent.cpp
agent.name = agent
agent.input = SOURCES_AGENT
agent.dependency_type = TYPE_C
agent.variable_out = OBJECTS
agent.output = libagent.so
agent.commands = $${QMAKE_CXX} $(CXXFLAGS) -fPIC -shared  -o libagent.so $(INCPATH) ${QMAKE_FILE_IN}
QMAKE_EXTRA_COMPILERS += agent

Andere Tipps

Ich kenne die spezifische Antwort nicht, aber ...

Da JVMTI -Agenten "normalerweise" kopflos sind, verwenden Sie QMake, weil Ihr Projekt einen Kopf hat, den Sie in KDevelop/QTCreator entwickeln? Verwendet der Kopf die API bei Anhang?

Wenn nicht und es rein kopflos ist, wäre ein anderer Editor/Cmake nicht besser? Qmake ist jetzt ein Vorprokos für CMake, für das MOC -Zeug, nein?

Ich muss zugeben, dass ich auf Q/CMake ein bisschen unscharf bin, obwohl ich für meine Arbeit zu CMake wechseln möchte.

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