前兩天,給自個兒寫的工程加個預編譯頭,沒想到貌似簡單的活就出錯了。
以前自己都是建立工程的時候加好,自己也沒太在意,也就這么過了,這次給舊工程加,想想也就手動添加了個xxx.h,然后在project properties里改了下設置 use procompiled header,但這樣就錯了,于是自己也懶的想,就去ogre的工程(ogremain)里對了一遍,看看自己的設置也對,寫法上,include也都寫在每個cpp前了,也沒二到在.h文件里include預編譯頭。后來網上查查,突然發(fā)現(xiàn)忘記添加預編譯頭對應的cpp文件了。。。一加世界清靜了。。
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
好吧。。我是二了。。不過回頭想想,ogre是怎么做到這一點的呢,ogremain工程里只有一個OgreStableHeader.h,而沒有cpp,我對編譯這些不太清楚,但依稀覺得precompiled這東西就是先生成一個obj文件包含了我想include的頭,而一個obj文件對應一個cpp單元,而沒有cpp應該就是沒有這個obj所以導致錯誤,但ogre是怎么做到的呢?求大家解答。