Подтвердить что ты не робот

Как настроить CLII IDE для Qt Framework?

Как настроить CLION IDE для Qt Framework? Является ли эта IDE совместимой с Qt, или существуют ли другие IDE, совместимые с Qt?

Я просто хочу попробовать что-то другое, чем Qt Creator.

4b9b3361

Ответ 1

CLion еще не существует .

Visual Studio имеет плагин Qt доступен.

Eclipse действительно имеет плагин Qt, но работа была остановлена ​​на нем некоторое время назад.


В последнее время этот вопрос вызывает большой интерес (без сомнения, популярность CLION растет), поэтому я должен признать, что CLION поддерживает Qt в том смысле, что, поскольку он использует CMake, он может обрабатывать вызов moc, rcc, и uic довольно безболезненно. Однако он не понимает QML, и, самое главное, он не понимает файлы проекта QMake, что явно затрудняет использование существующих проектов Qt в CLion, поскольку вам нужно сначала перенести его на CMake.

Ответ 2

Я был таким же отчаянным, как вы, пока я не прочитал эту дискуссию 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.

Ответ 3

Вы можете легко разработать Qt с помощью VC, Eclipse, CLion и т.д., когда вы используете CMake в качестве инструмента сборки. CMake будет генерировать файлы проекта для каждой IDE. Таким образом, я использовал несколько IDE. После этого путешествия я еще более счастливый пользователь Qt Creator.

Ответ 4

Вы можете создавать приложения 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.

Ответ 5

Как отмечает Том Ланк, проекты 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.