質問
最初のJVMTIエージェントを正常に実装し、建物がG ++コンパイラで完了した後、建物プロセスをQTプロジェクトに統合したいと考えています。
しかし、私はいくつかのビルドプロセス構成の問題に直面しています:
G ++コンパイラで実行するパラメーターは次のようになります。
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
これは非常にうまく機能します。今qmakeに:
QMakeが使用するC ++コンパイラにパラメーターを追加するパラメーターCXXFLAGSを知っていますが、このパラメーター化されたコンパイラコールをQMakeに変換するにはどうすればよいですか?
解決
の助けを借りて QT文書化されていないQmake Qmakeでカスタム構成を見つけました。しかし、それは完璧ではなく、今ではlibagent.soとagent.oを生成します。
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
他のヒント
具体的な答えはわかりませんが...
JVMTIエージェントは「通常」ヘッドレスであるため、QMakeを使用していますか?ヘッドはアタッチAPIを使用していますか?
そうでない場合、それは純粋に頭がない場合、別のエディター/cmakeが優れているわけではありませんか? Qmakeは、MOCのもののためのcmakeの前co、いいえですか?
私は自分の仕事のためにcmakeに移りたいと思っていますが、私はQ/cmakeで少しあいまいであることを認めなければなりません。
所属していません StackOverflow