繁体   English   中英

Qt5和CMAKE_AUTORCC

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM