苛刻的Qt編程規則

       今天被一個Bug折磨一天終於搞定,原來發現是由於頭文件的位置順序導致,之前我寫過的博客裏說到過,在工程中添加靜態庫時候,如果靜態庫的順序不同,那麼就會導致編譯報錯,一般是"undefine reference to.."或者"not declare in this scope",今天出現的Bug竟然是因爲頭文件的順序導致編譯出錯,真是讓人不得不懷疑這是C++編譯本身的Bug還是Qt框架的Bug,總之不得不說Qt對編程規則太苛刻了,在VS中可以編譯通過的程序在Qt中有時就是會出現Bug,雖然很無奈,但是你又不得不承認它確實存在。

       說說我今天的Bug,這是有Bug的頭文件順序,注意"glcamera.h"的順序

            再來看看將"glcamera.h"頭文件位置順序改變後,Bug就沒有了

     看到前後的Bug僅僅與頭文件的順序有關,如果沒有意識到這一點,真的你會被Bug折磨的死去活來,這也是我自己的一點經驗和教訓,希望能讓更多的初學者少走彎路!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章