Как настроить CLION IDE для Qt Framework? Является ли эта IDE совместимой с Qt, или есть другие IDE, совместимые с Qt?Как настроить CLII IDE для Qt Framework?
Я просто хочу попробовать что-то другое, чем Qt Creator.
Как настроить CLION IDE для Qt Framework? Является ли эта IDE совместимой с Qt, или есть другие IDE, совместимые с Qt?Как настроить CLII IDE для Qt Framework?
Я просто хочу попробовать что-то другое, чем Qt Creator.
CLIIN (не) compatible.
Visual Studio имеет плагин Qt available.
Eclipse у есть плагин Qt, но работа была stopped on it some time ago.
Этот вопрос был получить много внимания в последнее время (без сомнения, как популярность CLion повышается), так что я должен оговориться, что CLion делает поддержку Qt в том смысле, что, как он использует CMake он может обрабатывать Призывая moc
, rcc
, и uic
довольно безболезненно. Однако он не понимает QML, и, самое главное, он не понимает файлы проекта QMake, что явно затрудняет использование существующих проектов Qt в CLion, поскольку вы должны сначала перенести его на CMake.
И CLION не понимает QObjects при отладке, поэтому, например, вы не можете видеть, что находится внутри QString. –
@PatrizioBekerle Несомненно, это недостающая проблема с принтером GDB, а не проблема CLion или Qt? – cmannett85
хорошая точка, что вполне может быть так. QtCreator (IDE Qt), кажется, делает что-то другое, чтобы просматривать их объекты. Поэтому я обычно использую QtCreator для работы с GUI и отладки и CLion для всего остального. –
Вы можете легко разработать Qt с VC, Eclipse, CLion и т. Д., Когда вы используете CMake в качестве инструмента сборки. CMake будет генерировать файлы проекта для каждой IDE. Таким образом, я использовал несколько IDE. После этого путешествия я еще более счастливый пользователь Qt Creator.
Я был так же в отчаянии, как и вы, пока не прочитал this Quora discussion. Он отлично работал для меня!
Итак, есть 2 основных этапа:
Во-первых, CLion использует CMake для компиляции кода. Он основан на файлах конфигурации CMake (например, «CMakeLists.txt»). Вы должны добавить на основе Qt команды CMake (строки с «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. Для этого перейдите к: «Предпочтения» -> «Создание, выполнение, развертывание» -> «CMake» и в «Параметры CMake» добавьте путь 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.ТХТ:
find_package(Qt5Sql REQUIRED)
только после того, как другой find_package
, и добавив в последней строке:
target_link_libraries(myqtproject Qt5::Widgets Qt5::Sql)
Вы можете сделать это со всеми другими модулями Qt5.
Вы можете создавать приложения QT в CLion. QT Предоставляет модули CMake, которые заботятся обо всех деталях.
Следующая CMake скрипт строит пример приложения '' Dynamic Layouts Example
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)
Больше информации regarding building Qt applications with CMake.
Как говорит Том Ланк, проекты Qt теперь могут управляться и создаваться под CMake, что делает CLION счастливым.
Qt5's CMake manual описывает, как. Qt обеспечивает много волшебства под капотом здесь, и это объясняется намного лучше в CMake documentation.
Одна вещь, которая не упоминается в руководстве по 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")
Наконец, если вы работаете на/здания для окон, Qt нет дольше поставляется предварительно с библиотеками GCC/Mingw32. Вам нужно построить визуальную студию. К счастью, CLion now supports Visual Studio experimentally, и я нашел, что он работает для проектов Qt; просто установите архитектуру (в разделе «Настройки-> Сборка, выполнение, разработка-> CMake) на x86_amd64, чтобы построить в 64-битном режиме и быть совместимым с личными сборниками Qt.
Все это протестировано с использованием CLION 2017.1, Qt 5.9 и компилятора Visual Studio 2015.
Эта ссылка имеет проект с быстрой загрузкой, вам просто нужно изменить свой CMAKE_PREFIX_PATH в CMakeLists на расположение компилируемого Qt-компилятора, который вы хотите использовать (мой gcc_64, его по умолчанию - clang_64) - он имеет некоторые из параметры, указанные в других ответах уже установлено:
https://github.com/ArneGockeln/qtstarter
Кроме того, (на Ubuntu на базе Linux) я должен был установить библиотеки OpenGL, как описано здесь (https://askubuntu.com/questions/11378/how-do-i-set-up-an-opengl-programming-environment).
Я не думаю, что этот вопрос заслуживает такого рода downvotes. Хотя ответ можно найти через поиск в Google, для этого требуется довольно много щелчков. Обнаружив это, позвольте мне получить ответ намного быстрее. – JcKelley
@Claudio Вопрос не в том, какая IDE лучшая, но как CLION может работать с Qt. Ваш ответ не помогает ответить на эту тему, ни те, кто хочет развиваться с Qt, не используя Qt Creator. – Razakhel