Как говорит Бэйсмит, если ваша цель состоит в том, чтобы поддерживать исходный каталог в чистоте, реальное решение состоит в том, чтобы использовать сборку CMake .Если вы работаете в Windows, задайте для «Где создавать двоичные файлы» новый каталог, отличный от каталога «Где находится исходный код».Если вы работаете в Unix, это выглядит примерно так:
cd <source directory>
mkdir build
cd build
cmake ..
make
Запустив CMake в другом каталоге, все файлы сборки перейдут в этот каталог, и ваши исходные коды останутся чистыми.(Примечание: каталог сборки не обязательно должен находиться внутри исходного каталога. Для получения более подробной информации см. CMake wiki .)
Если «вне источника» не работаетдля вас я смог найти еще один вариант.Исходя из того, что я могу сказать из файла Qt4Macros.cmake
, установленного с моим CMake 2.8, он недоступен в качестве параметра конфигурации.Вот соответствующая строка:
SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC})
Обходной путь - изменить все директивы включения MOC, указав подпапку, в которую вы хотите построить.
#include "moc/mainwindow.moc"
После создания moc
внутри моей директории сборки, проблем со сборкой не было, и мой файл MOC был в новой директории.