Qt5 개발 환경 으로 CLion 을 어떻게 설정 하 는 지 상세 하 게 설명 하 는 방법

5553 단어 CLionQt5개발 환경
Qt 를 사용 하여 프로그램 개발 을 진행 할 때 QtCreator 는 항상 두 가지 선택 이 있 습 니 다.오래된 IDE 로 서 강력 한 기능 을 제공 하 는 동시에 Qt 의 지원 에 도 많은 최적화 를 했다.특별한 이유 가 없다 면 너 는 그것 을 사용 해 야 한다.
그러나 손 에 익 은 도 구 는 생산 효율 을 크게 향상 시 킬 것 이다.만약 에 다른 도 구 를 사용 하여 개발 했다 면 QtCreator 를 사용 하 는 비용 을 고려 해 야 한다.
그래서 저 는 CLion(또 다른 강력 한 c+IDE)을 Qt5 의 개발 환경 으로 설정 하고 기 존의 도구 체인 을 이용 하 는 동시에 다른 대형 소프트웨어 를 설치 하 는 것 을 피 할 것 입 니 다.
준비 작업
CLion 의 설치 와 활성 화 는 본 논문 의 토론 범 위 를 넘 어 섰 습 니 다.우 리 는 당신 이 CLion 을 이미 설치 했다 고 가정 합 니 다.도움 이 필요 하면 CLion 홈 페이지 에서 설치 방법 을 찾 아 보 세 요.
CLion 은 기본적으로 GCC 를 사용 하여 프로젝트 를 구축 하지만 GCC 를 사용 하면 코드 완성 기능 을 사용 할 수 없 기 때문에 toolchains 를 clang 으로 대체 합 니 다.

CLion 은 cmake 를 가 져 왔 습 니 다.시스템 이 제공 하 는 cmake 모듈 을 사용 하려 면 그림 과 같이 시스템 의 cmake 로 교체 해 야 합 니 다.
그 다음 에 컴 파일 러 가 적어도 c+11 을 지원 해 야 하 는 지 확인 하 세 요.c+14 또는 c+17 을 지원 할 수 있다 면 가장 좋 습 니 다.
Qt5 프로젝트 만 들 기
다음은 Qt5 프로젝트 를 만 드 는 것 입 니 다.CLion 은 일반 c++프로젝트 와 Qt 프로젝트 를 구분 하지 않 았 습 니 다.(Qt 프로젝트 는 일반적으로 c+프로젝트 또는 c+/QML 프로젝트 이기 때문에)이렇게 만 들 면 됩 니 다.

생 성 완료 후 프로젝트 구 조 는 그림 과 같 습 니 다:
cmake-build-release디 렉 터 리 는 moc 등 도 구 를 만 드 는 중간 코드 와 실행 가능 한 파일 을 만 드 는 곳 입 니 다.물론 실행 가능 한 파일 의 생 성 경 로 는 스스로 지정 할 수 있 습 니 다.이것 은 CLion 의 기본 옵션 입 니 다.
이 때 컴 파일 실행 과 코드 보완 은 사용 할 수 없 기 때문에 다음 에 컴 파일 과 코드 보완 을 설정 합 니 다.
Qt 코드 완성 및 프로젝트 컴 파일 설정
사전에 설명 하고 자 하 는 것 은 CLion 은CMakeLists.txt파일 에 따라 프로젝트 를 조직 하고 설정 하기 때문에 Qt 와 같은 제3자 라 이브 러 리 를 추가 하거나 컴 파일 행 위 를 변경 하려 면 수정CMakeLists.txt만 하면 된다 는 것 이다.
그래서 우 리 는CMakeLists.txt을 다음 과 같은 모습 으로 수정 해 야 한다.

cmake_minimum_required(VERSION 3.0)
project(test)

#   c++     
set(CMAKE_CXX_STANDARD 17)

#     moc,uic,rcc  qt     
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTORCC ON)

#   Qt5 cmake      ,               
# QT_DIR QT_VERSION    qt            
#          cmake,             ,  cmake     CMAKE_SYSTEM_PREFIX_PATH
#       cmake        (            qt        ),    find_package  
set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} $ENV{QT_DIR}/$ENV{QT_VERSION}/gcc_64/lib/cmake)

#      qt  ,   qmake QT += <name>  name        Qt5  
#   core QtCore,     ${CMAKE_PREFIX_PATH}            
#         qt,   (  NO_DEFAULT_PATH  ,   find_package         ):
find_package(Qt5Widgets REQUIRED NO_DEFAULT_PATH)

#             qt,   :
# find_package(Qt5Widgets REQUIRED)

#                 
aux_source_directory(. DIRS_SRCS)

#          ,        qrc  ,             
#   add_executable(test ${DIRS_SRCS} resources.qrc)
add_executable(test ${DIRS_SRCS})

#    Qt         
target_link_libraries(test Qt5::Widgets)
주의해 야 할 것 은 시스템 이 제공 하 는 Qt 를 사용 하 는 장점 중 하 나 는 컴 파일 된 프로그램 이 시스템 의 스타일 과 테 마 를 사용 할 수 있다 는 것 이다.그러나 버 전이 우리 가 사용 하고 자 하 는 것 과 일치 하지 않 아 오류 가 발생 할 수 있다 는 것 이 단점 이다.
수정 후 그림 의Reload changes을 클릭 하 십시오.

CLion 은 프로젝트 컴 파일 에 사용 할 새로운 Makefile 을 자동 으로 생 성 합 니 다.이제 코드 완성 도 사용 할 수 있 습 니 다.
컴 파일 항목
스 핀 박스 와 슬라이더 가 서로 연 결 될 수 있 도록 작은 예 시 를 작성 합 니 다.

#include <QApplication>
#include <QFormLayout>
#include <QtGlobal>
#include <QObject>
#include <QSlider>
#include <QSpinBox>
#include <QWidget>

int main(int argc, char *argv[])
{
    QApplication app(argc, argv);

    auto window = new QWidget;

    auto spinBox = new QSpinBox;
    spinBox->setRange(0, 100);
    auto slider = new QSlider;
    slider->setRange(0, 100);
    QObject::connect(spinBox,
                     //                ,QOverload       c++11
                     QOverload<int>::of(&QSpinBox::valueChanged),
                     slider,
                     &QSlider::setValue);
    QObject::connect(slider,
                     &QSlider::valueChanged,
                     spinBox,
                     &QSpinBox::setValue);

    auto layout = new QFormLayout;
    layout->addRow("spin box:", spinBox);
    layout->addRow("slider:", slider);
    window->setLayout(layout);
    window->show();

    return app.exec();
}
그리고 우 리 는int main(...)왼쪽 의 운행 버튼 을 눌 렀 다.

프로그램 이 컴 파일 되 기 시 작 했 습 니 다:

컴 파일 에 성공 하면 프로그램 이 자동 으로 실 행 됩 니 다:

이로써 클 리 온 은 Qt 에 정상적으로 협조 해 개발 할 수 있 게 됐다.
i18n 및 qt rcc 지원 은 참고 할 수 있 습 니 다이 문장.
Qt5 개발 환경 으로 CLion 을 설정 하 는 방법 에 대한 자세 한 설명 을 담 은 이 글 은 여기까지 입 니 다.더 많은 CLion 설정 Qt5 개발 환경 내용 은 저희 의 이전 글 을 검색 하거나 아래 의 관련 글 을 계속 찾 아 보시 기 바 랍 니 다.앞으로 많은 응원 부탁드립니다!

좋은 웹페이지 즐겨찾기