Qt에서 리소스를 불러온 뒤, 분명 모든 것을 다 잘 설정했는데 리소스로 불러오지 못 하는 경우가 있습니다.

다음과 같이 4가지 경우에서 간단한 리소스 프로젝트ㅏ에 대해 실험을 해 보기로 하였습니다.
각 파일에서 다른 점은 다음과 같습니다.
| 빌드 시스템 | UI 사용 여부 | |
| 0_QCheckBox | CMake | 미사용 |
| 0_QCheckBox_Qmake | QMake | 사용 |
| 0_QCheckBox_NonUi | QMake | 미사용 |
| 0_QCheckBox_Ui | CMake | 사용 |
(순서가 들쭉날쭉한 것은 이름순 정렬을 미처 확인하지 못한 결과입니다ㅜㅜ 여러분들은 꼭 확인해보세요)
빌드 시스템은 CMake와 QMake를 사용해 보았고, UI 사용을 할 것인지, 그렇지 않을 것인지에 대한 차이를 두어 실험해 보았습니다.
결론적으로는, UI 디자이너를 사용하든 사용하지 않든, CMake 에서는 리소스를 이용하여 아이콘을 표시하는데 실패하였습니다.




보다시피 UI 사용과는 관계 없이 Cmake를 사용한 경우에만 리소스를 불러오지 못하였습니다.
결론은 간단했습니다.
//Qmake
...
RESOURCES += \
resources.qrc
Qmake에는 리소스를 추가하는 코드가 존재하는 모습을 볼 수 있습니다.
그러나 Cmake에서는 어땠을까요?
//CMakeLists.txt
...
qt_add_executable(0_QCheckBox
WIN32 MACOSX_BUNDLE
main.cpp
widget.cpp
widget.h
resources.qrc
)
있는거 같은데, 좀 애매합니다. 중요한 게 빠졌습니다.
//cMakeLists.txt
...
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
...
이 부분이 존재해야 합니다.
저 부분을 넣고 한 번 실행해보면 어떨까요?

잘 나오는 것을 확인할 수 있습니다.
| [Qt] 페이지 전환하기 (0) | 2026.04.16 |
|---|---|
| [Qt] Ui에서 페이지 여러개 만들어서 사용하기 (0) | 2026.04.16 |
| [Qt] int to QString (1) | 2026.04.16 |
댓글 영역