Использование Cmake с Qt Creator
Я хотел бы использовать Qt creator
и Cmake
вместе (пожалуйста, не спрашивайте меня о моей мотивации, принимайте это как заданный.)
Я успешно создал создателя Qt для использования cmake "Cmake": см. this, this и это документы, касающиеся того, как я это сделал.
Я успешно создаю проект hello world
, но я не могу создавать файлы в проекте,
добавьте существующие файлы в дерево проекта и добавьте их в список cmake.
Стандартная работа создателя Qt "Добавить новое..." не работает, и я не могу найти причину.
Есть ли кто-нибудь, кто использует создателя Qt и "Cmake" вместе? Возможно ли сочетание?
Примечание. Я использую Qt creator v2.4.1.
Ответы
Ответ 1
Вы можете добавлять файлы с помощью выражения glob в ваш CMakeLists.txt, например:
file(GLOB SRC . *.cpp)
add_executable (your_exe_name ${SRC})
Cmake выберет ваши новые файлы cpp при следующем запуске, а QtCreator покажет их в обозревателе проекта.
Обновление
Это решение может быть полезно, но, как отмечено в комментариях, это не очень хорошая практика. Каждый раз, когда кто-то добавляет новый исходный файл и фиксирует изменения, вам нужно повторно запустить cmake для создания всех источников. Обычно я просто touch
один из файлов CMakeLists.txt, если моя сборка повреждена после объединения последних изменений из репозитория. После этого make
будет автоматически запускаться cmake
, и мне не нужно было запускать его руками. Несмотря на это, я думаю, что явные исходные списки в CMakeLists.txt - это хорошо, они вызвали предмет CMake Списки по какой-то причине.
Ответ 2
Когда вы добавляете новые файлы в QtCreator с помощью диалога "Новый файл или проект...", он создает только файлы на диске, он автоматически не добавляет файлы в CMakeLists.txt. Вам нужно сделать это вручную, отредактировав файл CMakeLists.txt.
В следующий раз, когда вы создадите проект, CMake будет повторно запущен, а QtCreator подберет новые файлы и покажет их в обозревателе проекта.
Ответ 3
Я решаю эту проблему, добавляя новые файлы стандартным образом (CTRL + N), а затем добавляя необходимые файлы в CMakeLists. После этого щелкните правой кнопкой мыши проект в дереве проекта и выберите опцию Run CMake. После этого файлы отображаются в дереве списка проектов. Только сборки было недостаточно.
Ответ 4
Я протестировал здесь и оказался таким же, потому что те параметры, которые вы задавали, были действительно отключены.
Используйте File → "Новый файл или проект..." или CTRL + N, чтобы добавить новые файлы, а затем добавить в CMakeLists.txt
Ответ 5
Я добавляю обновленный ответ для более новых версий QtCreator (4.x). В меню "Инструменты"> "Параметры..." выберите раздел "Сборка и запуск", а затем вкладку "CMake". Вы увидите настройки "Добавить файлы", и вы можете настроить его на "Копировать пути к файлу".
Таким образом, если вы хотите добавить новый файл в свой проект, в представлении "Проект" щелкните правой кнопкой мыши нужное имя исполняемого/библиотечного объекта CMake и выберите "Добавить новый...", перейдите в диалоговое окно "Добавить" и когда вы будете проверять в диалоговом окне QtCreator откроет CMakeLists.txt в представлении редактора. Наконец, вставьте содержимое буфера обмена в конец соответствующего списка исходных файлов и сохраните файл CMakeLists.txt. Проект CMake будет проанализирован, и ваш новый файл появится в представлении "Проект".