[英]Qt5 and CMAKE_AUTORCC
我正在尝试使用Qt移植现有项目以使用cmake。 该项目有(几个) ui
和(一个) qrc
文件。 在CMakeLists.txt中,如果我使用:
set(CMAKE_AUTOUIC ON)
并生成Visual Studio(2015)项目,它具有预构建步骤,从ui
文件生成源,并将这些生成的文件添加到VS项目。 但是,如果我在项目源中包含qrc
文件,然后进行设置:
set(CMAKE_AUTORCC ON)
生成的项目不再具有预构建步骤。 它确实包含相应的qrc.cpp
文件。 但是,在项目构建时,它会失败,因为文件不存在,也不会生成。 我还尝试将CMAKE_AUTORCC
设置为OFF
,并使用QT5_ADD_RESOURCES
。 这不会删除ui
预构建步骤,但不会将qrc.cpp
添加到项目中。
我正在使用Qt 5.6.0和cmake 3.5.2。
我意识到已经快四个月了,但是我刚才遇到了同样的问题,并仔细阅读了您的问题。 浏览了icon / qrc资源系统上的Qt文档后,我有了一个可行的解决方案。 我在同一个CMakeLists.txt
文件中拥有所有3个设置-以前有前两个设置:
set (CMAKE_AUTOMOC ON)
set (CMAKE_AUTOUIC ON)
set (CMAKE_AUTORCC ON)
然后,当您添加exe / dll时,请执行以下操作:
addlibrary (${myDLL} SHARED ${mySRC_LIST} ${myQRC_LIST})
您猜对了,文件${myQRC_LIST}
的新列表包含.qrc
文件的列表。 瞧! 我的第一次尝试就得到了这个结果,这是非常罕见的!
当然,我也可以将.qrc
文件合并到${mySRC_LIST}
中,但是我希望保持列表的${mySRC_LIST}
。 无论您做什么,都请通读Qt Resource Doc,以便正确包含图标。 希望这可以帮助。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.