在ui文件中使用控件提升的时候,突然发现ui_xxxx.h竟然报错了,
这在之前是没有碰到过,苦思过后认为是环境变量的问题,因为现在正在用的构建套件是 mingw 的,但在此之前我一直用的是msvc,并且环境变量的配置也是MSVC,如图:
于是带着尝试的态度,将环境变量改为mingw的,再次打开QtCreator,发现结果还是一样,仍然报错。
再到后来根据GPT的说法,尝试将头文件的路径改为绝对路径。留下:
#include "F:\code_review\Qt-WorkSpace\fight\KuGouApp\GLTabWidget.h"
现在确实没有报错,但新的问题是这个路径仅仅能在自己的电脑上使用,这就很不方便。必须要使用相对路径
#include "./../../../../GLTabWidget.h"
这样也没有报错,能够成功运行,但是这样不够美观。
经过网上查找证明需要在CMake文件中添加头文件目录 ,在CMake中添加下面这段就可以解决了。
INCLUDE_DIRECTORIES(
${PROJECT_SOURCE_DIR}
)//
PROJECT_SOURCE_DIR
返回的是调用project()
命令的CMakeLists.txt
文件所在目录的路径。
出现问题的原因是Qt creator通过ui文件生成的程序和存放头文件的目录不在一起,但是生成的程序里会在生成目录下找头文件,所以肯定是找不到的。