php網(wǎng)站開發(fā)案例教程廣告聯(lián)盟app下載官網(wǎng)
一、前言
? ? ? ? VS+Qt 提升控件后,在uic目錄下會生成ui相關(guān)的初始化文件,對于提升的控件頭文件包含的格式為#include<> 而非 #include “ ” 導致無法找到頭文件。如果手動修改為 #include “ ”相當麻煩,甚至每次編譯都要修改一遍,明顯是不合適的
二、解決方式
? ? ? ? 我們需要轉(zhuǎn)變一下思路,我們無法解決Qt自動寫成#include<>格式,只要使得#include<> 不會報錯即可,那么首先了解一下#include“ ”和#include <>區(qū)別:
#include “headfile.h”引用頭文件的搜索順序為:
- 先搜索當前目錄
- 然后搜索-I指定的目錄
- 再搜索gcc的環(huán)境變量CPLUS_INCLUDE_PATH(C程序使用的是C_INCLUDE_PATH)
- 最后搜索gcc的內(nèi)定目錄:/usr/include,/usr/local/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
- 各目錄存在相同文件時,先找到哪個使用哪個。
#include <headfile.h>引用頭文件的搜索順序為:
- 先搜索-I指定的目錄
- 然后搜索gcc的環(huán)境變量CPLUS_INCLUDE_PATH
- 最后搜索gcc的內(nèi)定目錄:/usr/include,/usr/local/include,/usr/lib/gcc/x86_64-redhat-linux/4.1.1/include
- 各目錄存在相同文件時,先找到哪個使用哪個。
? 所以,我們只需要將提升后的控件頭文件加入的編譯器的包含目錄內(nèi),則使用#include<> 便能夠找到。
三、演示
1,創(chuàng)建用于提升的widget
2,主頁面選擇提升
3,此時主頁面編譯生成的UIC 文件包含了提升的類頭文件,一般情況會報錯,說找不到頭文件
4,VS配置里面添加 scorepanel的相對路徑:..\FigthLandLords
注意:我使用的是相對路徑, ..\? 是指配置文件.vcxproj的上一級目錄。
5,此時編譯能正常通過,這種方式比我上一篇文章,使用替換的方式合理很多,建議使用此方式處理。