Skip to content

Latest commit

 

History

History
188 lines (129 loc) · 4.91 KB

File metadata and controls

188 lines (129 loc) · 4.91 KB

vscode-cmake-qt-mingw-exe

Visual Studio Code에서 CMake와 Qt6, MinGW를 사용하여 콘솔 애플리케이션을 개발하기 위한 템플릿 프로젝트입니다.

프로젝트 개요

이 프로젝트는 Windows 환경에서 MinGW 컴파일러를 사용하여 Qt6 기반 콘솔 애플리케이션을 빌드하는 방법을 보여줍니다. Visual Studio Code를 IDE로 사용하며, CMake를 빌드 시스템으로 활용합니다.

주요 기능

  • Qt6 Core 통합: Qt6 Core 라이브러리를 사용한 기본 콘솔 애플리케이션
  • CMake 빌드 시스템: 현대적인 CMake 설정 (CMake 3.26 이상)
  • CMakePresets 지원: Debug 및 Release 빌드 프리셋 제공
  • MinGW 컴파일러: Windows에서 MinGW GCC 컴파일러 사용
  • VS Code 통합: 완전한 VS Code 개발 환경 설정 포함

개발 환경 요구사항

  • CMake: 3.26 이상
  • Qt: 6.9.2 (MinGW 64비트 버전)
  • MinGW: GCC 13. 1. 0 (Qt Tools에 포함)
  • Ninja: 빌드 생성기
  • Visual Studio Code: 권장 확장 프로그램과 함께

필요한 VS Code 확장

  • CMake Tools
  • C/C++ Extension Pack

설치 및 설정

1. Qt 및 MinGW 설치

Qt 6.9.2와 MinGW를 다음 경로에 설치합니다:

C:/Qt/6.9.2/mingw_64
C:/Qt/Tools/mingw1310_64

다른 경로에 설치한 경우, CMakePresets.json 파일의 경로를 수정해야 합니다.

2. 프로젝트 클론

git clone https://github.com/JayTwoLab/vscode-cmake-qt-mingw-exe.git
cd vscode-cmake-qt-mingw-exe

3. VS Code에서 프로젝트 열기

code .

빌드 방법

CMake 프리셋 사용

프로젝트는 두 가지 빌드 프리셋을 제공합니다:

Debug 빌드

cmake --preset mingw-debug
cmake --build --preset mingw-debug

Release 빌드

cmake --preset mingw-release
cmake --build --preset mingw-release

VS Code에서 빌드

  1. Ctrl+Shift+P를 눌러 명령 팔레트 열기
  2. "CMake: Select Configure Preset" 선택
  3. "MinGW Debug" 또는 "MinGW Release" 선택
  4. F7 또는 "CMake: Build" 명령으로 빌드

실행 방법

빌드 후 실행 파일은 다음 위치에 생성됩니다:

  • Debug: build/debug/qt_console_hello. exe
  • Release: build/release/qt_console_hello.exe

VS Code에서 F5를 눌러 디버깅 모드로 실행할 수 있습니다.

프로젝트 구조

vscode-cmake-qt-mingw-exe/
├── . vscode/              # VS Code 설정 파일
│   ├── c_cpp_properties.json
│   ├── extensions.json
│   ├── launch.json
│   ├── settings.json
│   └── tasks.json
├── CMakeLists.txt        # CMake 빌드 설정
├── CMakePresets.json     # CMake 프리셋 설정
├── main.cpp              # 메인 소스 코드
├── LICENSE               # 라이선스 파일
└── README.md             # 프로젝트 문서

CMake 주요 설정

  • C++ 표준: C++17
  • 자동 MOC/UIC/RCC: Qt 메타 객체 컴파일러 자동 활성화
  • Debug 최적화: Windows MinGW Debug 빌드에서 -g -O0 플래그 강제 적용
  • Qt 경로 자동 설정: Windows MinGW 환경에서 Qt 경로 자동 구성

코드 예제

프로젝트의 main.cpp는 간단한 "Hello, World!" 콘솔 애플리케이션입니다:

#include <iostream>
#include <QCoreApplication>

int main(int argc, char *argv[])
{
    QCoreApplication a(argc, argv);
    
    std::cout << std::endl << "Hello, World!" << std:: endl << std::endl;
    std::cout << "more ..." << std::endl;
    std::cout << "more 2 ..." << std::endl;

    return 0;
}

커스터마이징

Qt 모듈 추가

더 많은 Qt 모듈을 사용하려면 CMakeLists.txt를 수정합니다:

find_package(Qt6 REQUIRED COMPONENTS Core Widgets Network)

target_link_libraries(${PROJECT_NAME} PRIVATE
    Qt6::Core
    Qt6::Widgets
    Qt6::Network
)

소스 파일 추가

새로운 소스 파일을 추가하려면 CMakeLists.txtadd_executable 섹션을 수정합니다:

add_executable(${PROJECT_NAME}
    main.cpp
    myclass.cpp
    myclass.h
)

라이선스

이 프로젝트는 MIT 라이선스 하에 배포됩니다. 자세한 내용은 LICENSE 파일을 참조하세요.

기여

이슈 제출 및 풀 리퀘스트를 환영합니다!

관련 링크

문제 해결

Qt를 찾을 수 없는 경우

CMakePresets.json 파일에서 CMAKE_PREFIX_PATH를 실제 Qt 설치 경로로 수정하세요.

MinGW 컴파일러를 찾을 수 없는 경우

CMakePresets.json 파일에서 CMAKE_C_COMPILERCMAKE_CXX_COMPILER 경로를 확인하고 수정하세요.

디버깅이 작동하지 않는 경우

.vscode/launch.json 파일의 프로그램 경로를 확인하세요.