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