У меня есть несколько проектов Qt с зависимостями друг от друга. Два проекта создают исполняемые файлы с разными целями (а именно мое основное приложение и модульные тесты) и зависят от одних и тех же библиотек. Однако эти библиотеки должны быть скомпилированы с другими настройками компилятора при сборке для моих модульных тестов. Итак, предположим, что моему приложению требуется набор флагов компилятора, и этот набор флагов также должен использоваться по умолчанию при компиляции библиотек. Моему приложению модульного тестирования нужен другой набор (или просто дополнительный набор) флагов компилятора для библиотек, которые будут установлены при их компиляции.
Как я могу написать файлы qmake *.pro
, чтобы я мог запустить qmake один раз, а затем использовать полученный файл makefile для компиляции библиотек для обоих приложений в отдельных запусках make? Я думал о том, чтобы сделать цели по умолчанию debug
и release
с флагами «по умолчанию» и дополнительную цель test
для создания моих модульных тестов, но я, похоже, не могу понять, как это сделать. Я застрял с Qt 4.8.
Некоторая предыстория: я программирую на С++, и мне нужно создать несколько фиктивных объектов для классов, определенных в библиотеках. Эти классы, однако, не содержат virtual
методов, поэтому я добавил флаг препроцессора, который определяется как virtual
при компиляции для модульных тестов и в противном случае остается пустым. Таким образом, я могу перезаписывать методы в своих фиктивных объектах, но не сталкиваюсь с накладными расходами на вызовы виртуальных функций в релизных сборках.