Сборка агента JVMTI с помощью Qt / qmake - PullRequest
1 голос
/ 14 марта 2011

После того, как я успешно реализовал свой первый агент 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 для добавления дополнительных параметров в компилятор C ++, используемый qmake, но как я могу преобразовать этот параметризованный вызов компилятора в qmake?

Ответы [ 2 ]

2 голосов
/ 15 марта 2011

С помощью 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
1 голос
/ 15 марта 2011

Я не знаю конкретного ответа, но ...

Поскольку агенты JVMTI "обычно" без головы, вы используете qmake, потому что у вашего проекта есть голова, которую вы разрабатываете в kdevelop / qtcreator?Использует ли головка API-интерфейс присоединения?

Если нет, и он чисто безголовый, то не будет ли лучше другой редактор / cmake?qmake теперь является препроцессором для cmake, для MOC, не так ли?

Должен признать, что я немного неуверен в q / cmake, хотя я надеюсь перейти на cmake для своей работы.

...