Форум программистов, компьютерный форум, киберфорум
Наши страницы
Олег_Б
Войти
Регистрация
Восстановить пароль
Рейтинг: 5.00. Голосов: 2.

CLion + QT

Запись от Олег_Б размещена 03.07.2016 в 14:50
Метки 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 не проверял, утверждать, что это сработает я не могу. Хотя по идее должно.
Размещено в Без категории
Просмотров 3236 Комментарии 16
Всего комментариев 16
Комментарии
  1. Старый комментарий
    Аватар для Avazart
    Так чем конкретно QtCreator не угодил?

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

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

    Я же перечислил недостатки. Добавлю еще один...
    Как программист С++ будет расширять эту IDE если потребуется?
    Исходники IDE открытые? Можно ли писать свои плагины на С++ ?
    Запись от Avazart размещена 05.07.2016 в 11:24 Avazart вне форума
    Обновил(-а) Avazart 05.07.2016 в 11:31
  9. Старый комментарий
    Цитата:
    Ну во первых не QT, а Qt
    Если Вы внимательно читали статью, то QT использовано только в заголовке, опечатка, да. Это первое. Второе: где Вы увидели рекламу? Я никому не навязываю использование той или иной IDE. Целью статьи является не реклама, а упрощение жизни тем, кто решит использовать данную связку, не более. На вкус и цвет... Третье: при первой возможности, как только у меня появится свободное время, я проведу полноценный сравнительный анализ этих IDE. Но это не ранее чем через месяц.
    Запись от Олег_Б размещена 06.07.2016 в 06:15 Олег_Б вне форума
  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.
    тут все написано
    Запись от Олег_Б размещена 06.07.2016 в 06:41 Олег_Б вне форума
  11. Старый комментарий
    Аватар для Avazart
    Вообще то это был риторический вопрос.
    Но своим ответом Вы еще раз продемонстрировали свое не знание предмета о котором пишите, ну до ладно.
    Запись от Avazart размещена 07.07.2016 в 00:03 Avazart вне форума
  12. Старый комментарий
    Цитата:
    Но своим ответом Вы еще раз продемонстрировали свое не знание предмета о котором пишите, ну до ладно.
    Прошу привести аргументы. Вопросы компетенции - это достаточно тонкая материя.
    Запись от Олег_Б размещена 08.07.2016 в 09:09 Олег_Б вне форума
  13. Старый комментарий
    Аватар для Avazart
    Цитата:
    Если Вы внимательно читали статью, то QT использовано только в заголовке, опечатка, да.
    Это касалось не только заголовка, но и поста BlinCT.

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

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

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

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

    Цитата:
    У той же Visual Studio исходники не открыты. И никто особо не пострадал от этого.
    Опять отрыв от реальности, никто не говорит про Visual Studio, сравнение идет с QtCreator.
    Запись от Avazart размещена 09.07.2016 в 15:23 Avazart вне форума
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru