<h4>一、前言</h4>
讯享网
VS+Qt 提升控件后,在uic目录下会生成ui相关的初始化文件,对于提升的控件头文件包含的格式为#include<> 而非 #include “ ” 导致无法找到头文件。如果手动修改为 #include “ ”相当麻烦,甚至每次编译都要修改一遍,明显是不合适的
二、解决方式
我们需要转变一下思路,我们无法解决Qt自动写成#include<>格式,只要使得#include<> 不会报错即可,那么首先了解一下#include“ ”和#include <>区别:
#include “headfile.h”引用头文件的搜索顺序为:
- 先搜索当前目录
- 然后搜索-I指定的目录
- 再搜索gcc的环境变量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)
- 最后搜索gcc的内定目录:/usr/include,/usr/local/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
- 各目录存在相同文件时,先找到哪个使用哪个。
#include <headfile.h>引用头文件的搜索顺序为:
- 先搜索-I指定的目录
- 然后搜索gcc的环境变量CPLUS_INCLUDE_PATH
- 最后搜索gcc的内定目录:/usr/include,/usr/local/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
- 各目录存在相同文件时,先找到哪个使用哪个。
所以,我们只需要将提升后的控件头文件加入的编译器的包含目录内,则使用#include<> 便能够找到。
三、演示
1,创建用于提升的widget

2,主页面选择提升

3,此时主页面编译生成的UIC 文件包含了提升的类头文件,一般情况会报错,说找不到头文件


4,VS配置里面添加 scorepanel的相对路径:..FigthLandLords
注意:我使用的是相对路径, .. 是指配置文件.vcxproj的上一级目录。



5,此时编译能正常通过,这种方式比我上一篇文章,使用替换的方式合理很多,建议使用此方式处理。


版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/161734.html