В qt Creator мне очень нравится особенность, и это сборка Shadow. Когда Shadow Build включен, все сгенерированные файлы (* .moc, Makefile, * .o) будут сгенерированы в заданном исходном каталоге, поэтому исходный каталог остается чистым. Я перехожу от создателя qt к kdevelop и пытаюсь понять, как работает эта функция, пока я могу создать результирующий двоичный файл, файлы moc и объектные файлы в дополнительном каталоге, используя переменные DESTDIR
, OBJECTS_DIR
и MOC_DIR
, но я не могу создайте make-файл в этом каталоге. Любые идеи?
Ручная настройка теневой сборки в qmake
Ответы (2)
AFAIK, что делает QtCreator, в основном сводится к следующему:
mkdir my_shadow_build
cd my_shadow_build
qmake ../my_src_dir
это создает сам Makefile в каталоге сборки и просто запускает
make
там создаются все временные файлы в каталоге сборки, используя источники из исходного каталога. Это не требует каких-либо специальных вещей в файле .pro, а просто зависит от использования "извне".
person
Steffen
schedule
06.03.2011
Просто хочу отметить, что это верно для qmake, cmake и даже autotools :)
- person Sambatyon; 17.02.2012
Вы также можете попробовать экспериментальный плагин поддержки QMake для KDevelop: https://projects.kde.org/kdev-qmake
Он запрашивает у вас папку сборки при первом запуске и выполняет теневую сборку. Обратите внимание, что вам нужно убедиться, что ваши файлы .pro и .pri написаны правильно - это довольно легко испортить. CMake в этом отношении намного проще!
person
milianw
schedule
08.04.2011