qt CMake加载qrc文件
时间: 2025-06-28 16:00:29 浏览: 5
### 如何在 Qt 项目中通过 CMake 加载 qrc 资源文件
#### 使用 `qt_add_resources` 或者 `qt5_add_resources`
对于使用 CMake 构建的 Qt 项目,可以利用 `qt_add_resources` 或者 `qt5_add_resources` 来处理 `.qrc` 文件。这两个函数作用相同,在较新的版本如 Qt 6 推荐使用 `qt_add_resources` 函数[^2]。
```cmake
find_package(Qt6 COMPONENTS Core REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_AUTOUIC ON)
project(MyProject VERSION 1.0 LANGUAGES CXX)
add_executable(${PROJECT_NAME}
main.cpp
resources.qrc
)
target_link_libraries(${PROJECT_NAME} PRIVATE Qt6::Core)
```
这段代码展示了如何配置一个简单的 CMakeLists.txt 文件以支持资源文件。注意设置 `CMAKE_AUTORCC` 选项为开启状态以便自动处理 `.qrc` 文件[^4]。
#### 修改 CMakeLists.txt 正确包含资源文件
如果遇到无法正确加载资源的情况,可能是由于未将资源文件编译进可执行文件内。确保如下所示的方式被应用到了项目的 CMake 配置当中:
```cmake
find_package(Qt5 COMPONENTS Widgets REQUIRED)
qt5_add_resources(RESOURCES_RCC_FILES resources.qrc)
add_executable(${PROJECT_NAME}
main.cpp
${RESOURCES_RCC_FILES}
)
```
此部分代码片段说明了应当怎样调整 CMakeLists.txt 文件来确保资源文件能够被正确加入到最终生成的应用程序之中[^3]。
#### 手动创建并指定资源文件位置
当采用非 Qt Creator 工具链或是拥有自定义工程结构的情况下,则需自行建立资源目录,并于其中放置相应的 `.qrc` 文件。例如在一个名为 `resources` 的子文件夹里面新增了一个叫做 `resources.qrc` 的 XML 文档用来描述要打包进去的各种静态资产(比如图像、样式表等)[^5]。
```xml
<RCC>
<qresource prefix="/">
<file>images/icon.png</file>
<file>styles/style.qss</file>
</qresource>
</RCC>
```
以上是一个典型的 `.qrc` 文件的例子,它指定了哪些文件应该被打包成为应用程序的一部分以及它们相对于根路径的位置关系。
阅读全文
相关推荐



















