记录一个 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
头文件的情况。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2018-09-04 外网IP监测上报程序(使用Poco库的SMTPClientSession发送邮件)