在我成功实施了我的第一个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有些模糊。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top