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

2021-12-26 00:00:00 qt cmake c++

根据文档,关于自动:

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

If a preprocessor #include directive is found which matches ui_.h, and a .ui file exists, then uic will be executed to generate the appropriate file.

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

But what if the .ui file is in another folder? I currently get the following error when trying to build:

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

ui 文件实际上位于此处:

The ui file is actually located here:

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

我尝试将 C:/app/source/forms/ 添加到 include_directories() 宏,但没有成功.有什么想法吗?

I've tried to add the C:/app/source/forms/ to the include_directories()-macro without success. Any ideas?

推荐答案

问题 在此答案中提到的问题现已解决.

Issue mentioned in this answer is now resolved.

这适用于 CMake v3.9.0-rc6:

set(CMAKE_AUTOUIC_SEARCH_PATHS your/folder/here)

请参阅 AUTOUIC_SEARCH_PATHS 的文档.

相关文章