Qt не видит заголовочные файлы
Что за ерунда? Имеется проект с Cmake на борту. я его открываю в Qt Creator(версия 3.5 с чем-то по моему). Открываю с помощью открытия файла CMakeLists.txt в корне проекта.
Всё хорошо, всё компилится и работает. Но вот в Qt никак не отображаются файлы .h
Как мне сделать так, чтобы в дереве проекта они отображались?
ЧЯДНТ? Гугль не помог(даже не подозреваю, куда гуглить надо)
а в cmakelists.txt они точно есть?
include_directories(.) возможно, это то, что тебе нужно.
в include_directories() прописана вся папка с хедерами. но в креаторе не видно ни одного хедера
да, есть. иначе бы не компилилось, и юзаю include_directories()
не помогает этот метод
Хедеры нужно добавлять в цели компиляции. Типа такого:
правильно я понимаю?
1) ДОписываем по Вашему экзамплу в проект.
2) Прогоняем cmake по-новой
3) Хедеры появляются в дереве проекта. Всё верно?
Ну, да. Я не помню деталей уже, но вроде это все что требуется.
попробуй что oh-la-la предложил на одном хедере и расскажешь, чем закончится :)
Спасибо большое! Это работает! Теперь внимание другой вопрос : можно ли так подключить все хедеры из этой папки(включая хедеры из вложенных папок) ? Просто руками всё это очень долго будет писать : там много хедеров
Qtc, в отличии от того же CLion, ничего ни за кого не выдумывает.
Поэтому показывает только те файлы, которые добавленны как сорцы к цели. Если ты хочешь показывать хидеры - либо добавь их к соответсвующей цели, как исходники, либо сделай фейковую цель, и добавь их к ней.
google:// glob cmake
Помниться ты уже поднимал такую тему.
нет, Вы меня с кем-то путаете. За ссылку спасибо большое
Проблема решена посредством применения File(GLOB ..) и add_executable.
Буду дальше знакомиться с cmake.
Если кто предложит более хорошее решение - буду рад его узнать.
Проблема решена посредством применения File(GLOB ..) и add_executable.
Буду дальше знакомиться с cmake.
Если кто предложит более хорошее решение - буду рад его узнать.
Решено!
Тут проблема не в CMake, а в том, что QtCreator не считает заголовочные файлы, отсутствующие в CmakeLists.txt частью проекта. Существует альтернативная реализация менеджера проектов CMake для QtCreator, возможно там поведение другое.
m0rph ★★★★★ ( 07.09.15 23:49:38 )Последнее исправление: m0rph 07.09.15 23:50:17 (всего исправлений: 1)
CMake это кроссплатформа, поэтому, в той же студии - проблема повториться. А также в Code::Blocks, KDevelop(если они всё не испортили), Eclipse, и любой другой фигне, где кто то не насмотрелся на Jb и не накостылил.
Qtc в данном случае прав. Ибо фактически, нигде нет инфо об инклудах, их можно конечно, показыать наугад, все подряд, но качественно показывать только то, что используется в текущей конфиграции не выйдет, без дополнительного анализа кодовой базы, что в принципе разные задачи с управлением проектом и сборкой.
Проблема решена посредством применения File(GLOB ..) и add_executable
Дурацкое решение. Захочешь добавить новый файл - надо перезапускать cmake, и это не единственный минус.
Сам я вместо добавления файлов в add_executable добавлял фейковую цель, которая не собирается.
Читайте также: