记录一个 qt+cmake 项目不生成 ui_xxx.h 文件的问题

最近做一个 Qt 的项目的代码迁移到新平台,遇到一个问题。这个项目使用的 CMake 构建脚本,项目中的某个ui文件怎么都不能生成 对应的ui_xxx.h文件,其他的文件都没有问题,使用qmake构建也没有问题。

经过排查,问题原因如下:

#include"ui_xxx.h"

上面 #include和后面的头文件之间没有空格。

CMake 使用下面的函数调用来实现ui文件的查找。

Uic_.RegExpInclude.compile("(^|\n)[ \t]*#[ \t]*include[ \t]+"
                           "[\"<](([^ \">]+/)?ui_[^ \">/]+\\.h)[\">]");

也就是#include和后面的头文件之间必须要一个或多个空格或者Tab符,否则就匹配不上。

参考资料

下面的链接中是一些相关的资料,包括其他原因导致的不生成ui_xxx.h头文件的情况。

posted @ 2023-09-04 19:45  乌合之众  阅读(1224)  评论(0编辑  收藏  举报
clear