题
在我成功实施了我的第一个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:
我知道参数cxxflags是为了在qmake使用的C ++编译器中添加更多参数,但是如何将此参数化的编译器调用转换为QMake?
解决方案
在...的帮助下 QT无证件QMAKE 我在Qmake中找到了自定义配置。但是,它并非完美无瑕,它现在会产生一个libagent.o so和一个不需要的代理。
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,因为您的项目具有您在Kdevelop/QtCreator中开发的头部?使用附件API的头部吗?
如果不是,那纯粹是无头的,那么另一个编辑/cmake会更好吗? Qmake现在是Cmake的预放级,用于MOC的东西,不是吗?
我必须承认,尽管我希望能搬到cmake的工作中,但我对Q/cmake有些模糊。
不隶属于 StackOverflow