如何在CMake中使用qt5 您所在的位置:网站首页 win32在哪 如何在CMake中使用qt5

如何在CMake中使用qt5

2023-03-31 06:04| 来源: 网络整理| 查看: 265

我正在尝试使用宏创建rcc文件:CMakeqt5_add_binary_resources(target inputfile ... OPTIONS ... DESTINATION ...)

qt5_add_binary_resources(myApp "themes/redTheme.qrc" OPTIONS ARGS -binary)

由于我正在使用其他宏,例如add_executable在我的CMakeLists文件中(要求a target),我收到以下错误:

CMake Error at C:/Qt/5.5/msvc2013/lib/cmake/Qt5Core/Qt5CoreMacros.cmake:255 (add_custom_target): add_custom_target cannot create target "myApp" because another target with the same name already exists. The existing target is an executable created in source directory [..]

请注意,我的CMakeLists文件嵌套在根目录中CMakeLists.

编辑:我看了宏的定义(l.226)qt5_add_binary_resources.最后一行是引发我的错误的命令.它似乎没有做任何事情:

add_custom_target(${target} ALL DEPENDS ${rcc_destination})

我不明白为什么宏需要一个target?

编辑:这是我的内容CMakeLists.txt,虽然为了清晰起见而简化了.

CMAKE_MINIMUM_REQUIRED(VERSION 3.4) CMAKE_POLICY(SET CMP0002 NEW) PROJECT(myApp) SET(RCC_EXECUTABLE ${CMAKE_PREFIX_PATH}/bin/rcc.exe) # Find includes in corresponding build directories SET(CMAKE_INCLUDE_CURRENT_DIR ON) # Instruct CMake to run moc automatically when needed SET(CMAKE_AUTOMOC ON) SET(CMAKE_AUTORCC ON) FIND_PACKAGE(Qt5Core 5.5.0 REQUIRED) FIND_PACKAGE(Qt5Widgets 5.5.0 REQUIRED) FIND_PACKAGE(Qt5Qml 5.5.0 REQUIRED) FIND_PACKAGE(Qt5Quick 5.5.0 REQUIRED) INCLUDE_DIRECTORIES(${BOOST_INCLUDE_DIRS}) # etc. SET(myApp_LIBRARIES ${BOOST_THREAD_LIBRARIES} ${BOOSTALL_LIBRARIES} Qt5::Core Qt5::Widgets Qt5::Qml Qt5::Quick ) SET(myApp_LIBRARIES ${myApp_LIBRARIES} ) SET(myApp_SOURCES source/main.cpp ) SET(myApp_RESOURCES resources/qml.qrc ) SET(myApp_EXTERNAL_BINARY_RESOURCES themes/redTheme.qrc themes/blueTheme.qrc ) ADD_EXECUTABLE(myApp WIN32 ${myApp_SOURCES} ${myApp_RESOURCES} ) FOREACH(_qrc_file ${myApp_EXTERNAL_BINARY_RESOURCES}) STRING(REPLACE "qrc" "rcc" _rcc_file ${_qrc_file}) # This is where I'd like to create my binary resources # QT5_ADD_BINARY_RESOURCES("test.rcc" ${_qrc_file}) # Current working process, but not clean EXECUTE_PROCESS(COMMAND ${RCC_EXECUTABLE} -binary ${CMAKE_CURRENT_SOURCE_DIR}/${_qrc_file} -o ${CMAKE_CURRENT_SOURCE_DIR}/${_rcc_file}) ENDFOREACH()

根据这个文件,我正在尝试生成两个rcc文件:redTheme.rcc和blueTheme.rcc.



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

      专题文章
        CopyRight 2018-2019 实验室设备网 版权所有