Форум программистов, компьютерный форум, киберфорум
snowdrоp
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  

CLion + QT

Запись от snowdrоp размещена 03.07.2016 в 14:50
Показов 20674 Комментарии 16
Метки c++, clion, qt

Всем привет. Я расскажу как настроить замечательную IDE
CLion для работы с не менее замечательным инструментом Qt
Я довольно долго использовал Qt Creator для разработки. И он меня полностью устраивал.

Но в какой-то момент мне довелось поработать с idea, после этого, разработка в QtCreator стала несколько раздражать. Возможно это несколько грубое сравнение, но ощущение, что с Land Cruiser пересел на старенький убитый уазик, при всем моем уважении к последнему. По проходимости они еще могут потягаться, а вот по комфорту для водителя и количеству полезных плюшек уже нет.
Я не буду описывать все достоинства CLion. т.к. предполагаю, что заинтересованная аудитория умеет пользоваться гуглом.
Я просто опишу процесс настройки IDE для работы с Qt. В свое время я потратил достаточно времени для их настройки. Возможно кому-то эта статья поможет его сэкономить.
CLion по умолчанию использует cmake. Для того, чтобы мы могли его использовать нужно "сказать" что и где искать и как найденное использовать.
Ниже приведен пример CMakeList.txt
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
cmake_minimum_required(VERSION 3.5)
project(YourApp)
 
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(CMAKE_PREFIX_PATH "/opt/qt/5.6/gcc_64/")#указать путь к  Qt
set(CMAKE_AUTOMOC ON)#Q_OBJECT - для использования в проекте механизма сигналов и слотов.
set(CMAKE_AUTOUIC ON)#для поддержки форм созданных с помощью QtDesigner
find_package( Qt5Core REQUIRED )# по аналогии с *.pro QT += gui core
find_package( Qt5Widgets REQUIRED )#виджеты
find_package( Qt5Network REQUIRED )#Сеть
find_package( Qt5Sql REQUIRED )#поддержка СУБД
find_package( Qt5Xml REQUIRED )#поддержка Xml
find_package( Qt5PrintSupport REQUIRED )#
find_package( Qt5OpenGL REQUIRED)
 
set(SOURCE_FILES main.cpp)
add_executable(YourApp ${SOURCE_FILES})
target_link_libraries(YourApp Qt5::Widgets Qt5::Core Qt5::Network 
        Qt5::Sql Qt5::OpenGL  #указываем библиотеки
        ${Boost_LIBRARIES} )# с которыми будем линковать бинарник
Вы можете подключить только те модули, которые Вам нужны. Ну и демонстрация того, как это работает на ютубе, правда качество звука оставляет желать лучшего, поэтому его лучше отключить. Не судите строго, это была проба пера.
Маленькая поправка: описан процесс настройки для Linux для Windows не проверял, утверждать, что это сработает я не могу. Хотя по идее должно.
Метки c++, clion, qt
Размещено в Без категории
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Всего комментариев 16
Комментарии
  1. Старый комментарий
    Аватар для Avazart
    Так чем конкретно QtCreator не угодил?

    Т.е то что вы долго разбирались как настроить уже...
    Да и как бы вероятно что левая среда вероятно будет уступать родной.
    Запись от Avazart размещена 03.07.2016 в 14:51 Avazart вне форума
  2. Старый комментарий
    Конкретно:
    1)
    Я не буду описывать все достоинства CLion. т.к. предполагаю, что заинтересованная аудитория умеет пользоваться гуглом.
    2)
    Т.е то что вы долго разбирались как настроить уже...
    - что уже? Уточните. В моем понимании достаточно времени - это более 15 минут на тривиальную задачу. Я потратил около часа от идеи до запуска первого приложения.
    3) Я не нашел ни одной внятной инструкции по настройке на русском, в лучшем случае отсылают к официальной документации.
    Решил восполнить этот пробел.
    4) Да, есть некоторые недостатки, в частности не поддерживается синтаксис Qt5 для сигналов и слотов.
    Запись от snowdrоp размещена 03.07.2016 в 16:28 snowdrоp вне форума
  3. Старый комментарий
    Аватар для Avazart
    Я не буду описывать все достоинства CLion. т.к. предполагаю, что заинтересованная аудитория умеет пользоваться гуглом.
    Ну первым возникает всегда вопрос почему/зачем, без этого уже нет никакой заинтересованности.
    Я не думаю что так популярна связка CLion+Qt что есть насколько заинтересованная аудитория.
    Кроме того главный вопрос именно сравнение с QtCreator.

    4) Да, есть некоторые недостатки, в частности не поддерживается синтаксис Qt5 для сигналов и слотов.
    И естественно нет встроенного дизайнера форм? т.е. по сути крутой текстовый редактор?
    И сам этот "редактор" вероятно написан на тормозящей Java ?
    Запись от Avazart размещена 03.07.2016 в 18:45 Avazart вне форума
  4. Старый комментарий
    Ну первым возникает всегда вопрос почему/зачем, без этого уже нет никакой заинтересованности.
    Я не думаю что так популярна связка CLion+Qt что есть насколько заинтересованная аудитория.
    Кроме того главный вопрос именно сравнение с QtCreator.
    Хорошо, я учту Ваше замечание и, при первой возможности, проведу сравнительный анализ этих IDE.
    И естественно нет встроенного дизайнера форм?
    Нет. Если честно, то лично для меня, это вообще не показатель, ибо редактором не пользуюсь и все ручками пишу. Хотя иногда бывает нужно быстро натыкать формочку для проверки чего-нибудь, но для этого есть Qt Designer, а CLion умеет работать с его файлами. Кроме того, судя по количеству обращений с просьбой прикрутить поддержку этого инструмента, ребята из JetBrains это сделают.
    т.е. по сути крутой текстовый редактор?
    - не согласен. Это полноценная IDE с кучей плагинов и плюшек.
    И сам этот "редактор" вероятно написан на тормозящей Java ?
    Таки да. До QtCreator не дотягивает, но если проект достаточно серьезный, то существенной разницы я не увидел. И, кстати, тормозит не больше многими так любимой Visual Studio. Последнюю, правда, как и Windows, не использую очень давно, как раз таки, по причине ее тормознутости. Но это другая история.
    Запись от snowdrоp размещена 03.07.2016 в 20:09 snowdrоp вне форума
  5. Старый комментарий
    Я не думаю что так популярна связка CLion+Qt что есть насколько заинтересованная аудитория.
    Спросите у гугла. И Вы убедитесь в обратном.
    Запись от snowdrоp размещена 03.07.2016 в 20:11 snowdrоp вне форума
  6. Старый комментарий
    На самом деле статья как разбор встречающихся проблем полезна. Я уже как 2 года пересел с QT Creator на CLion. Возможностями доволен полностью.
    Конечна есть нарекания, синтаксис не весь понимает но это дело времени. Они должны в ближайшую неделю вывести релиз и вот после начнут смотреть в строну или makefiles или qmake это мы увидим позже. Но поддержку QT требуют там многие.
    Но как IDE продукт замечательный.
    Запись от BlinCT размещена 04.07.2016 в 13:48 BlinCT вне форума
  7. Старый комментарий
    Маленькая поправка: синтаксис сигналов и слотов пятой версии таки поддерживается.
    Обнаружил опечатку в коде.
    Запись от snowdrоp размещена 05.07.2016 в 07:29 snowdrоp вне форума
  8. Старый комментарий
    Аватар для Avazart
    Ну во первых не QT, а Qt (почему ? погулите)) )
    во вторых я пока не услышал преимуществ, только "рекламные" бла-бла... и "погугли".
    (хочу заметить сравнительных преимуществ именно перед QtCreator от реальных пользователей, а не ... такое не гуглится.)

    Я же перечислил недостатки. Добавлю еще один...
    Как программист С++ будет расширять эту IDE если потребуется?
    Исходники IDE открытые? Можно ли писать свои плагины на С++ ?
    Запись от Avazart размещена 05.07.2016 в 11:24 Avazart вне форума
  9. Старый комментарий
    Ну во первых не QT, а Qt
    Если Вы внимательно читали статью, то QT использовано только в заголовке, опечатка, да. Это первое. Второе: где Вы увидели рекламу? Я никому не навязываю использование той или иной IDE. Целью статьи является не реклама, а упрощение жизни тем, кто решит использовать данную связку, не более. На вкус и цвет... Третье: при первой возможности, как только у меня появится свободное время, я проведу полноценный сравнительный анализ этих IDE. Но это не ранее чем через месяц.
    Запись от snowdrоp размещена 06.07.2016 в 06:15 snowdrоp вне форума
  10. Старый комментарий
    Как программист С++ будет расширять эту IDE если потребуется?
    Исходники IDE открытые? Можно ли писать свои плагины на С++ ?
    Q: Is it possible to write plugins for CLion?
    A: Yes, as all other JetBrains IntelliJ-Platform-based products, CLion is open to plugin development. Find useful information in our confluence space. 
Still, before v1.0 the API may be unstable and plugins may be broken occasionally.
    тут все написано
    Запись от snowdrоp размещена 06.07.2016 в 06:41 snowdrоp вне форума
  11. Старый комментарий
    Аватар для Avazart
    Вообще то это был риторический вопрос.
    Но своим ответом Вы еще раз продемонстрировали свое не знание предмета о котором пишите, ну до ладно.
    Запись от Avazart размещена 07.07.2016 в 00:03 Avazart вне форума
  12. Старый комментарий
    Но своим ответом Вы еще раз продемонстрировали свое не знание предмета о котором пишите, ну до ладно.
    Прошу привести аргументы. Вопросы компетенции - это достаточно тонкая материя.
    Запись от snowdrоp размещена 08.07.2016 в 09:09 snowdrоp вне форума
  13. Старый комментарий
    Аватар для Avazart
    Если Вы внимательно читали статью, то QT использовано только в заголовке, опечатка, да.
    Это касалось не только заголовка, но и поста BlinCT.

    рошу привести аргументы. Вопросы компетенции - это достаточно тонкая материя.
    Аргументы? Так вы сами их привели, запостив чужой ответ, который не в тему.

    Как программист С++ будет расширять эту IDE если потребуется?
    Никак.
    Исходники IDE открытые?
    Закрытые.
    Можно ли писать свои плагины на С++ ?
    Нифига, учи Java!

    Т.е С++программист в пролете, и нет преимуществ над QtCreator именно это я хотел сказать.
    Запись от Avazart размещена 08.07.2016 в 13:29 Avazart вне форума
  14. Старый комментарий
    запостив чужой ответ, который не в тему.
    Вопрос был о написании плагинов, так? Я на него ответил. Причем ответ не выдуманный, а от разработчика.
    Человек способный освоить написание плагинов, если ему это действительно нужно, способен освоить java. Это не аргумент.
    Как программист С++ будет расширять эту IDE если потребуется?
    Никак.
    См. выше. Не аргумент.
    Цитата:
    Исходники IDE открытые?
    Закрытые.
    Вы так часто копаетесь в исходниках IDE? Я не думаю, что для большинства разработчиков это основной показатель. Для того, чтобы не быть голословным проведу опрос здесь же, на этом форуме, когда буду готовить сравнительный анализ. У той же Visual Studio исходники не открыты. И никто особо не пострадал от этого. Не аргумент.
    Запись от snowdrоp размещена 08.07.2016 в 19:59 snowdrоp вне форума
  15. Старый комментарий
    Т.е С++программист в пролете, и нет преимуществ над QtCreator именно это я хотел сказать.
    Прошу таки дождаться сравнительного анализа. Потом будет видно. Целью статьи, повторюсь, являлось описание решения проблемы, не более.
    Запись от snowdrоp размещена 08.07.2016 в 20:08 snowdrоp вне форума
  16. Старый комментарий
    Аватар для Avazart
    Вопрос был о написании плагинов, так?
    Да вопросы был в написании плагинов, но не в "отрыве от реальности", а именно на С++ программистом который использует IDE для C++Qt. Более того идет сравнение с QtCreator.

    Человек способный освоить написание плагинов, если ему это действительно нужно, способен освоить java. Это не аргумент.
    Нет это аргумент что бы вообще не писать плагины, вообще не писать плагины под CLion.
    Это глупость никто не станет учить Java что бы написать плагин для IDE под конкретные собственные нужды что бы только иметь возможность использовать плагин для разработки кода С++ в этой IDE.
    "Написание плагинов" и изучение "языка" вещи не сравнимые.
    Человек может изучить что угодно если нужно, вопрос свободного времени и денежных средств, так что еще какой аргумент.

    У той же Visual Studio исходники не открыты. И никто особо не пострадал от этого.
    Опять отрыв от реальности, никто не говорит про Visual Studio, сравнение идет с QtCreator.
    Запись от Avazart размещена 09.07.2016 в 15:23 Avazart вне форума
 
Новые блоги и статьи
Контроль уникальности выбранного документа-основания при изменении реквизита
Maks 28.04.2026
Алгоритм из решения ниже разработан на примере нетипового документа "ЗаявкаНаРемонтСпецтехники", разработанного в КА2. Задача: уведомлять пользователя, если указанная заявка (документ-основание). . .
Благородство как наказание
Maks 24.04.2026
У хорошего человека отношения с женщинами всегда складываются трудно. А я человек хороший. Заявляю без тени смущения, потому что гордиться тут нечем. От хорошего человека ждут соответствующего. . .
Валидация и контроль данных табличной части документа перед записью
Maks 22.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа, разработанного в КА2. Задача: контроль и валидация данных табличной части документа перед записью с учетом регламента компании. . .
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2. Задача: разработка отчёта по затраченным материалам за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом. В. . .
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2. Задача: отобразить спецтехнику, которая на данный момент находится в ремонте. Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут Суть: - Группа наркоманов из 10 человек. - Только один инфицирован ВИЧ. - Колются одной иглой. - Колются раз в день. - Колются последовательно через. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru