Как настроить CLion IDE для Qt Framework? Совместима ли эта IDE с Qt, или есть другие IDE, совместимые с Qt?
Я просто хочу попробовать использовать что-нибудь еще, кроме Qt Creator.
Как настроить CLion IDE для Qt Framework? Совместима ли эта IDE с Qt, или есть другие IDE, совместимые с Qt?
Я просто хочу попробовать использовать что-нибудь еще, кроме Qt Creator.
Я был в таком же отчаянии, как и вы, пока не прочитал это обсуждение на Quora. У меня это сработало отлично!
Подводя итог, можно выделить 2 основных шага:
Во-первых, CLion использует CMake для компиляции вашего кода. Он основан на файлах конфигурации CMake (например, «CMakeLists.txt»). Вам нужно добавить команды CMake на основе Qt (строки с 'find_package' и 'target_link_libraries'):
cmake_minimum_required(VERSION 3.5)
project(myqtproject)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
set(SOURCE_FILES main.cpp)
find_package(Qt5Widgets REQUIRED) <-- this line
add_executable(myqtproject ${SOURCE_FILES})
target_link_libraries(myqtproject Qt5::Widgets) <-- this line
Во-вторых, CLion должен использовать двоичный файл cmake
, установленный Qt. Для этого перейдите в: «Preferences» -> «Build, Execution, Deployment» -> «CMake» и в «CMake options» добавьте путь CMake, который использует Qt, который должен находиться в каталоге, где установлен Qt. Например, в OSX:
-DCMAKE_PREFIX_PATH=/Users/edouard/Qt/5.7/clang_64/lib/cmake
Вы можете проверить, что все работает нормально, выполнив небольшой тестовый скрипт в main.cpp
:
#include <QApplication>
#include <QDebug>
using namespace std;
int main() {
qDebug() << QT_VERSION_STR;
return 1;
}
Что должно отображать что-то вроде:
/Users/edouard/Library/Caches/CLion2016.2/cmake/generated/myqtproject-89a4132/89a4132/Debug/untitled
5.7.0
Process finished with exit code 1
ОБНОВЛЕНИЕ
У меня возникла проблема с добавлением модулей Qt5 (например, QSql). Вы можете сделать это, добавив в CMakeLists.txt:
find_package(Qt5Sql REQUIRED)
сразу после другого find_package
и добавив в последней строке:
target_link_libraries(myqtproject Qt5::Widgets Qt5::Sql)
Вы можете сделать это со всеми другими модулями Qt5.
ОБНОВЛЕНИЕ
На сайте Jet Brain есть официальное руководство:
https://www.jetbrains.com/help/clion/qt-tutorial.html
Исходный ответ
Этот подход - один из самых простых способов использования новейшей версии Qt.
Qt: 5.10.1
CLion: 2018.1.2
GDB: 8.1
Настройка проекта
В CLion:
CMakeLists.txt:
cmake_minimum_required(VERSION 3.10)
project(PROJECT_NAME)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_PREFIX_PATH "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/cmake")
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5Quick REQUIRED)
add_executable(PROJECT_NAME main.cpp MainWindow.cpp MainWindow.h qml.qrc)
target_link_libraries(PROJECT_NAME Qt5::Core)
target_link_libraries(PROJECT_NAME Qt5::Widgets)
target_link_libraries(PROJECT_NAME Qt5::Quick)
Файлы ресурсов (.qrc) должны быть добавлены в список add_executable, чтобы moc мог запускать свою процедуру на ресурсе, а внутренний файл, такой как qmls, тексты, ... был доступен.
Файлы qml должны быть включены в файл qrc и загружены с помощью QQmlApplicationEngine во время выполнения.
Отладчик:
Чтобы иметь удобочитаемое представление в сеансах отладки из типов Qt, в системе должен быть установлен новый GDB и должны быть доступны симпатичные принтеры:
Симпатичные принтеры для Qt5:
1- Lekensteyn Qt5 Pretty Printers (Работает):
Адрес: https://github.com/Lekensteyn/qt5printers
Настройка: ~ / .gdbinit
python
import sys, os.path
sys.path.insert(0, os.path.expanduser('~/.gdb'))
import qt5printers
qt5printers.register_printers(gdb.current_objfile())
end
2- Официальная (не работает !!!):
"PATH_TO_QT/QT_VERSION/QT_ARCH/Tools/QtCreator/share/qtcreator/debugger/"
Настройка: ~ / .gdbinit
Как указано во включенном файле readme (но не работает!):
python sys.path.insert(1, '<path/to/qtcreator>/share/qtcreator/debugger/')
python from gdbbridge import *
Внешние инструменты
В Файл - ›Настройки -› Инструменты - ›Внешние инструменты добавьте 4 внешних инструмента:
Qt Creator:
Program: "PATH_TO_QT/QT_VERSION/QT_ARCH/Tools/QtCreator/bin/qtcreator"
Arguments: $FilePath$
Дизайнер пользовательского интерфейса:
Program: "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/designer")
Arguments: $FilePath$
LUpdate:
Program: "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/lupdate")
Arguments: $FilePath$ -ts $FileNameWithoutExtension$.ts
Лингвист:
Program: "PATH_TO_QT/QT_VERSION/QT_ARCH/lib/bin/linguist")
Arguments: $FilePath$
Теперь вы можете щелкнуть правой кнопкой мыши по этим типам файлов и под внешним инструментом:
Automatic Beautifier
Если в Qt Creator вы использовали средство красоты, такое как Uncrustify, для автоматического улучшения кода при сохранении исходного файла, тогда:
Как упоминает Том Лэнк, проектами Qt теперь можно управлять и строить под ним, что делает CLion счастливым.
В руководстве Qt5 по CMake описано, как это сделать. Qt предоставляет здесь много волшебства, и это гораздо лучше объяснено в Документация CMake.
Одна вещь, которая не упоминается в руководстве Qt CMake или выше, заключается в том, что вам также понадобятся строки:
set(CMAKE_AUTOUIC ON) # if you have any .ui files
set(CMAKE_AUTORCC ON) # if you have any .qrc files
Все эти вызовы set()
, вероятно, должны быть перед строкой find_package(Qt5Widgets REQUIRED)
. Также включите любые файлы .ui или .qrc в качестве зависимостей в вызов add_executable()
вместе с вашими файлами .cpp.
Сначала это очень сбивало меня с толку при просмотре веб-страниц, но вам не нужно никаких вызовов qt_*()
или qt5_*()
. Насколько я могу судить, они были заменены.
Чтобы проверить, что ваш CMakeLists.txt
действительно работает правильно, вы можете попробовать выполнить сборку в Qt Creator, загрузив CMakeLists.txt
как проект и построив.
После подтверждения вы можете загрузить файл CMakeLists.txt
как проект в CLion. Скорее всего, вам нужно указать CMake, где найти ваши пакеты Qt, с помощью такой строки перед вашим find_package
:
set(CMAKE_PREFIX_PATH "C:/Qt/5.9/msvc2015_64")
Наконец, если вы используете / build для Windows, Qt больше не поставляется с предварительно собранными библиотеками GCC / Mingw32. Вам нужно строить с помощью Visual Studio. К счастью, CLion теперь экспериментально поддерживает Visual Studio, и я обнаружил, что она работает для проектов Qt; просто не забудьте установить архитектуру (в разделе «Настройки-> Сборка, выполнение, Разработка-> CMake») на x86_amd64, чтобы сборка была в 64-битном режиме и была совместима с библиотеками предварительной сборки Qt.
Все это проверено с помощью CLion 2017.1, Qt 5.9 и компилятора Visual Studio 2015.
Вы можете создавать приложения QT в CLion. QT Предоставляет модули CMake, которые заботятся обо всех деталях.
Следующий сценарий CMake создает пример приложения Пример динамических макетов а> '
cmake_minimum_required(VERSION 3.7)
project(qtlayoutexample)
set(CMAKE_CXX_STANDARD 14)
# Find QT packages
find_package(Qt5Widgets)
# Add the include directories for the Qt 5 Widgets module to
# the compile lines.
include_directories(${Qt5Widgets_INCLUDE_DIRS})
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Add compiler flags for building executables (-fPIE)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${Qt5Widgets_EXECUTABLE_COMPILE_FLAGS}")
qt5_generate_moc(main.cpp main.moc)
# Tell CMake to create the qtlayoutexample executable
add_executable(qtlayoutexample main.cpp dialog.cpp main.moc)
#Link the qtlayoutexample executable to the Qt 5 widgets library.
target_link_libraries(qtlayoutexample Qt5::Widgets)
Дополнительная информация о создании приложений Qt с помощью CMake.
В этой ссылке есть проект быстрого запуска, вам просто нужно изменить свой CMAKE_PREFIX_PATH в CMakeLists на местоположение упакованного компилятора Qt, который вы хотите использовать (мой - gcc_64, его по умолчанию - clang_64) - у него есть некоторые настройки, упомянутые другими ответы уже установлены:
https://github.com/ArneGockeln/qtstarter
Вдобавок (в Linux на базе Ubuntu) мне пришлось установить библиотеки OpenGL, как описано здесь (https://askubuntu.com/questions/11378/how-do-i-set-up-an-opengl-programming-environment).
Вы можете легко разработать Qt с помощью VC, Eclipse, CLion и т. Д., Когда вы используете CMake в качестве инструмента сборки. CMake сгенерирует файлы проекта для каждой IDE. Таким образом я использовал несколько IDE. После этого путешествия я стал еще более счастливым пользователем Qt Creator.
Единственное, что вам нужно, это добавить QT install ..Qt\5.10.1\mingw53_32\bin;
в ваш PATH. Не забудьте после этого перезагрузить компьютер, потому что CLion по какой-то причине не может обновить путь, помогает только полный перезапуск компьютера.