2011-03-14 86 views
1

在成功實現我的第一個JVMTI代理並且使用g ++編譯器完成構建之後,我想要將構建過程集成到我的Qt項目中。使用Qt/qmake構建JVMTI代理

但是我面臨着一些構建過程的配置問題:

我將與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:

我知道參數CXXFLAGS將進一步的參數添加到qmake使用的C++編譯器,但我怎樣才能將此參數化編譯器調用轉換爲qmake?

回答

2

Qt Undocumented 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 
1

由於JVMTI代理「通常是」無頭你使用qmake的,因爲你的項目有,你是在KDevelop的/ qtcreator開發的頭,我不知道具體的答案,但...

?頭部是否使用附加API?

如果不是,它是純粹的無頭然後不會更好的編輯器/ cmake不同? qmake現在是cmake的預處理程序,對於MOC的東西,不是?

我必須承認我在q/cmake上有點模糊,雖然我希望能轉移到cmake上工作。

+0

@ paul-anderson:是的,我想在Qt框架上開發一個帶有圖形用戶界面的探查器。我可以把它從建築過程中分離出來,但這應該更加優雅,並且可以改進建築過程。 – 2011-03-14 21:55:54

+0

我同意,QT是一個不錯的選擇,它會是開源嗎? ....想要一隻手寫它? – 2011-03-15 09:00:51

+0

它將是開源的,但它是我學士論文的主題,目前 – 2011-03-15 09:06:47