Qt при сборке Qt из исходного кода как мне очистить старые конфигурации configure?

#qt #configure

#qt #настроить

Вопрос:

Я компилирую Qt из исходного кода, но я не хочу извлекать исходный код каждый раз, когда я хочу его собрать.

Как я могу очистить предыдущую конфигурацию с помощью инструмента configure?

Комментарии:

1. make confclean работает, но самый чистый и безопасный вариант — выполнить сборку вне дерева исходных текстов: mkdir build amp;amp; /path/to/source configure … amp;amp; make amp;amp; make install

Ответ №1:

Для Qt4 и более ранних версий попробуйте это:

 nmake confclean
  

Затем вы можете повторно настроить и скомпилировать QT.

Как отмечено в комментариях, это больше не работает в QT 5. Это связано с тем, что проект Qt теперь использует отдельные подмодули для разных частей. Если у вас есть локальный клон репозиториев Qt git, вы можете попробовать вызвать это из основного каталога Qt:

 git submodule foreach --recursive "git clean -dfx"
  

Как отмечалось здесь, могут возникнуть некоторые проблемы, если у вас есть загруженный исходный архив. Размещенная мной ссылка предлагает использовать вместо этого теневую сборку, поэтому процесс создания чистой конфигурации так же прост, как настройка сборки в новом месте назначения теневой сборки.

Комментарии:

1. я получаю: Microsoft (R) Program Maintenance Utility версии 9.00.30729.01 Авторское право (C) корпорации Microsoft. Все права защищены. NMAKE: неустранимая ошибка U1073: не знаю, как остановить ‘confclean’.

2. вы должны вызвать это из корневого каталога qt

3. Это больше не работает. Есть ли способ очистить конфигурацию Qt для Qt 5.0 ?

4. обновлено сообщение для ссылки на другое сообщение, в котором обсуждается Qt5. Я обновлю снова, как только перейду на Qt5 (все еще использую Qt4.8, поэтому я еще не знаком с деталями).

Ответ №2:

На сегодняшний день (Qt 5.9.0 beta2) в Linux нет confclean целевого объекта, и вам нужно вручную удалить .config.cache файл для перенастройки.

Обратите внимание, что make distclean это совсем не помогает.

Комментарии:

1. Спасибо, это работает с 5.9.x. Я понятия не имею, почему они удалили это, но опять же, я видел гораздо худшее решение, принятое компанией Qt относительно библиотек.

2. В Linux с Qt 5.9.x вызывается файл config.cache

3. Комментарий @uglide, похоже, прав насчет config.cache . в любом случае, спасибо, ответ сработал

Ответ №3:

Для последних версий используйте теневую сборку, затем вы можете просто удалить свой каталог. Мой пакетный файл для настройки эффективно создает новую папку, перемещается в нее, затем вызывает configure. Затем вы просто заходите в теневой каталог и запускаете ‘jom’. Если вы хотите создать другую конфигурацию, просто используйте другой теневой каталог. Это фактически означает, что ваше дерево исходных текстов не заполняется артефактами сборки, которые невозможно удалить, если вам нужна другая конфигурация. Поверьте мне, это то, что нужно сделать….

 mkdir shadow_dir
cd shadow_dir
%~dp0srcconfigure.bat ....
  

Ответ №4:

В Ubuntu:

 make confclean
  

Кстати, следующий текст отображается после запуска configure:

 Qt is now configured for building. Just run 'make'.
Once everything is built, you must run 'make install'.
Qt will be installed into /home/ben/qt/qt-everywhere-opensource-4.7.4-debug

To reconfigure, run 'make confclean' and 'configure'.