如何在cmake中使用autouic将header和ui文件放在不同的文件夹中

问题描述 投票:5回答:2

根据documentation,关于autouic:

如果找到与ui_.h匹配的预处理程序#include指令,并且存在.ui文件,则将执行uic以生成相应的文件。

但是如果.ui文件在另一个文件夹中呢?我在尝试构建时遇到以下错误:

AUTOUIC : error : process for ui_module.h failed:
File 'C:/app/source/headers/module.ui' is not valid

ui文件实际上位于此处:

C:/app/source/forms/module.ui

我试图将C:/app/source/forms/添加到include_directories()-macro但没有成功。有任何想法吗?

c++ qt cmake
2个回答
5
投票

更新

CMake版本3.9中添加了搜索路径CMAKE_AUTOUIC_SEARCH_PATHS。


经过进一步调查,似乎无法做到。他们的跟踪系统存在一个未解决的问题,但到目前为止尚未实施:

Add Search path for AUTOUIC


2
投票

在这个Issue中提到的answer现在已经解决了。

这适用于CMake v3.9.0-rc6:

set(CMAKE_AUTOUIC_SEARCH_PATHS your/folder/here)

请参阅AUTOUIC_SEARCH_PATHS的文档。

© www.soinside.com 2019 - 2024. All rights reserved.