Как настроить CLION IDE для Qt Framework? Является ли эта IDE совместимой с Qt, или существуют ли другие IDE, совместимые с Qt?
Я просто хочу попробовать что-то другое, чем Qt Creator.
Как настроить CLION IDE для Qt Framework? Является ли эта IDE совместимой с Qt, или существуют ли другие IDE, совместимые с Qt?
Я просто хочу попробовать что-то другое, чем Qt Creator.
CLion еще не существует .
Visual Studio имеет плагин Qt доступен.
Eclipse действительно имеет плагин Qt, но работа была остановлена на нем некоторое время назад.
В последнее время этот вопрос вызывает большой интерес (без сомнения, популярность CLION растет), поэтому я должен признать, что CLION поддерживает Qt в том смысле, что, поскольку он использует CMake, он может обрабатывать вызов moc
, rcc
, и uic
довольно безболезненно. Однако он не понимает QML, и, самое главное, он не понимает файлы проекта QMake, что явно затрудняет использование существующих проектов Qt в CLion, поскольку вам нужно сначала перенести его на CMake.
Я был таким же отчаянным, как вы, пока я не прочитал эту дискуссию Quora. Это сработало отлично для меня!
Подводя итог, есть два основных шага:
Во-первых, 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
Вы можете проверить, что все работает нормально, выполнив небольшой тест script в 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
UPDATE
Я столкнулся с проблемой добавления модулей Qt5 (например, QSql). Вы можете сделать это, добавив в CMakeLists.txt:
find_package(Qt5Sql REQUIRED)
сразу после другого find_package
и добавления в последнюю строку:
target_link_libraries(myqtproject Qt5::Widgets Qt5::Sql)
Вы можете сделать это со всеми другими модулями Qt5.
Вы можете легко разработать Qt с помощью VC, Eclipse, CLion и т.д., когда вы используете CMake в качестве инструмента сборки. CMake будет генерировать файлы проекта для каждой IDE. Таким образом, я использовал несколько IDE. После этого путешествия я еще более счастливый пользователь Qt Creator.
Вы можете создавать приложения QT в CLion. QT Предоставляет модули CMake, которые заботятся обо всех деталях.
Следующий CMake script создает пример приложения Пример динамических макетов
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.
Как отмечает Том Ланк, проекты Qt теперь могут управляться и создаваться под CMake, что делает CLION счастливым.
Qt5 CMake manual описывает, как это сделать. 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")
Наконец, если вы работаете в /building для окон, Qt больше не создается заранее с помощью библиотек GCC/Mingw32. Вам нужно построить визуальную студию. К счастью, CLion теперь поддерживает Visual Studio экспериментально, и я нашел, что он работает для проектов Qt; просто установите архитектуру (в разделе "Настройки- > Сборка, выполнение, разработка- > CMake" ) на x86_amd64, чтобы построить в 64-разрядном режиме и быть совместимым с библиотеками pre-build Qt.
Все это тестируется с помощью CLion 2017.1, Qt 5.9 и компилятора Visual Studio 2015.