C++多檔案專案編譯
阿新 • • 發佈:2019-02-02
在codeblocks裡編譯一個含有多個檔案的專案。
編譯中出現很多錯誤。
NOTE 1:
如果專案中含有多個頭檔案,注意會出現“重複”問題。原因是主檔案裡會連續include每個標頭檔案,但是每一個原始檔裡都會包含#include ,這樣難免會重複定義產生衝突。解決的方法是在每一個頭檔案里加上這麼幾行程式碼:
#ifndef Point_H_INCLUDED //注意:ifndef後面按標示符定義規則隨便定義一個變數,起標識作用。ifndef是“if not define”的意思,這是個判斷句。
#define Point_H_INCLUDED
……
#endif
NOTE 2:
標頭檔案裡可能也要包含另外一些標頭檔案,因為標頭檔案裡出現了一些東西,沒有宣告,注意雖然是標頭檔案,但是編譯的時候還是一個個單獨編譯的,所以每個檔案該有的還是要有。例如:
friend ostream& operator << (ostream & ,const Circle &);
這個標頭檔案裡聲明瞭一個友元函式,那麼就必須在標頭檔案里加上:
#include <iostream>
using namespace std;
宣告類的時候聲明瞭繼承關係
class Circle:public Point{
那麼就必須把
#include "12_1_Point.h"
包含進來。
如上,以後有新發現再改。