Qt 로 빌드한 exe 실행에 필요한 dll (Qt 관련 dll 및 기타 dll )들을 1개의 폴더에 몰기 자동화
CMakeLists.txt
# 1. install 폴더 경로를 프로젝트 폴더 하위로 강제 지정
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/install" CACHE PATH "Installation Prefix" FORCE)
endif()

Qt 에서 자동생성된 CMakeLists.txt 에서의 install 관련 설정 그대로 적용하면 내 exe 가 사용하지도 않는 오만 잡다한 dll 들을 전부 복사해오고 exe 파일도 bin 폴더 하위에 배치시킨다. 지저분할뿐만 아니라 이후 install 폴더 내부만 배포하면 완전한 실행이 가능한 exe 가 보이게 하는게 더 좋다.

내가 지정한 것만 install 폴더에 복사하는 방식이 훨씬 좋다. CMakeLists.txt 에 자동생성된 install 관련 내용은 삭제하고 아래처럼 기록한다.
########## install 처리 명시적으로 필요한것만 복사하기.
# 1. Qt 바이너리 경로 정의 (내 환경에 맞춰 한 번만 설정)
set(QT_BIN_DIR "H:/Portable_Qt/6.10.1/msvc2022_64/bin") # Qt 설치경로
# 2. 필수 Qt DLL들만 명시적으로 설치 목록에 추가
set(QT_REQUIRED_DLLS
"${QT_BIN_DIR}/Qt6Core.dll"
"${QT_BIN_DIR}/Qt6Gui.dll"
"${QT_BIN_DIR}/Qt6Widgets.dll"
)
install(FILES ${QT_REQUIRED_DLLS} DESTINATION .)
# 3. [중요] 플랫폼 플러그인 (이게 없으면 실행 안 됨)
# platforms 폴더 구조를 유지하며 qwindows.dll만 가져옴
install(FILES "${QT_BIN_DIR}/../plugins/platforms/qwindows.dll"
DESTINATION platforms)
# 4.기타 dll (내가만든것, 외부dll 등)
install(FILES "${CY_SDK_ROOT}/bin/LXFinAPI.dll" DESTINATION .)
# 5. 실행 파일 복사 (루트에 바로 생성)
install(TARGETS CyAnyQ RUNTIME DESTINATION .)
# Clean 명령 실행 시 'install' 폴더도 삭제 목록에 추가
set_directory_properties(PROPERTIES ADDITIONAL_CLEAN_FILES "${CMAKE_INSTALL_PREFIX}")
Qt Creator 에서 build install 설정하기
Qc Creator 왼쪽메뉴 Projects 클릭하여 보이는 Build Steps 의 오른쪽 끝 Details 클릭하여 보면 기본설정은 all 로 되어있는데 이것을 install 로 선택한다. 이것 선택하면 컴파일 후 install 처리까지 하면서 내가 지정한 폴더에 exe 및 dll 들 모두 몰아준다.

클린이후 빌드하면 install 폴더 자동생성되고 아래처럼 exe 실행에 필수인 dll 들만 복사된다.

연관
Qt . 개요 . 포터블 개발환경 구축 .
Qt 개요 Qt는 C++ 기반의 크로스플랫폼 애플리케이션 개발 프레임워크GUI 뿐만 아니라, 네트워킹, 스레딩, 데이터베이스, XML/JSON 처리, OpenGL, 3D, 멀티미디어 등 애플리케이션 개발에 필요한 거의 모
igotit.tistory.com
첫 등록 : 2026.04.20
최종 수정 :
단축 주소 : https://igotit.tistory.com/6565
'VisualStudio.C++.C#' 카테고리의 다른 글
| AppLife Update . VS2015 C# 프로젝트 VS2022 로 마이그레이션 (0) | 2026.04.25 |
|---|---|
| AppLife Update . C# 기반 앱 자동 업데이트 배포 관리 솔루션 (0) | 2026.04.25 |
| Qt . VSCode 에서 개발하기 (0) | 2026.04.20 |
| C# . VC++ DLL 활용 . DllImport (0) | 2026.01.19 |
| MFC . 대화상자 클래스 템플릿 . 클래스위저드 없이 직접 만들기 (0) | 2026.01.11 |
댓글