我刚刚开始使用 cmake 作为构建系统的 Qt5 项目。到目前为止,这工作得很好,但是我想从 qrc 文件加载图标时遇到问题。
项目结构:
CMakeLists.txt
-- icons/
CMakeLists.txt
icons.qrc
locked.png
-- src/
CMakeLists.txt
source files...
顶级 CMakeLists.txt:
cmake_minimum_required(VERSION 2.8.11) #2.8.11 provides an easy way to build with qt5
project(fluchOmat)
# Find includes in corresponding build directories
set(CMAKE_INCLUDE_CURRENT_DIR ON)
# Instruct CMake to run moc automatically when needed.
set(CMAKE_AUTOMOC ON)
# Find the QtWidgets library. This has dependencies on QtGui and QtCore!
find_package(Qt5Widgets REQUIRED)
# Find the QtMultimedia module
find_package(Qt5Multimedia REQUIRED)
add_subdirectory(icons)
add_subdirectory(src)
图标/中的 CMakeLists.txt
set(RESOURCE
${CMAKE_CURRENT_SOURCE_DIR}/icons.qrc
)
qt5_add_resources(RESOURCE_ADDED ${RESOURCE})
图标/中的icons.qrc
<RCC>
<qresource prefix="/">
<file alias="locked">locked.png</file>
</qresource>
</RCC>
src/ 中的 CMakeLists.txt(重要部分)
add_executable(fluchOmat ${SOURCES} ${HEADERS} ${fluchOmat_FORMS} ${RESOURCES_ADDED})
一些示例代码
QPixmap pm(":/locked.png");
qDebug("Width: " + pm.width());
什么都不返回,所以显然这不起作用。
Qt5 和 cmake 的资源并不多。谁能帮我这个?这是一个cmake问题吗?例如,我不确定 qt5_add_resources 是否在正确的位置。我的qrc文件错了吗?
任何帮助是极大的赞赏!