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

时间:2016-11-16 11:19:01

标签: c++ qt cmake

根据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() - 宏,但未成功。有什么想法吗?

2 个答案:

答案 0 :(得分:5)

<强>更新

搜索路径CMAKE_AUTOUIC_SEARCH_PATHS已添加到CMake 版本3.9。

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

Add Search path for AUTOUIC

答案 1 :(得分:2)

<{>} Issue中提到的answer现已解决。

这适用于 CMake v3.9.0-rc6

set(CMAKE_AUTOUIC_SEARCH_PATHS your/folder/here)

请参阅AUTOUIC_SEARCH_PATHS的文档。