2016-03-05 37 views
-1

我有一個小項目,由一個主文件(main.cpp)組成,其中我剛剛添加了一個新函數,並在頭文件(pojemnik.h)中定義了一個pojemnik類。與源文件(pojemnik.cpp)分開編譯。未定義的類的引用,儘管公開並實現

我使用了一個makefile。這裏摘錄:

program: obj obj/main.o obj/pojemnik.o 
    g++ obj/main.o -o program 

obj/main.o: src/main.cpp inc/pojemnik.h 
    g++ ${CXXFLAGS} -c src/main.cpp -o obj/main.o 

obj/pojemnik.o: src/pojemnik.cpp inc/pojemnik.h 
    g++ ${CXXFLAGS} -c src/pojemnik.cpp -o obj/pojemnik.o 

這裏是我的鏈接GitHub,那裏有我所有的代碼是可用的,如果上面的內容是不夠的。

當我嘗試編譯它,我收到以下錯誤:

obj/main.o: In function `zapiszDoPojemnika(unsigned int) 
undefined reference to `pojemnik::pojemnik(int) 
undefined reference to `pojemnik::zapisz(int) 
undefined reference to `pojemnik::zwroc_rozmiar() 
undefined reference to `pojemnik::~pojemnik() 
undefined reference to `pojemnik::~pojemnik() 

我已經實現了方法的所有功能。一切正常編譯,直到我已經創建該功能。你能指出我犯的錯誤嗎?

回答

2

的問題來自於你的makefile:

program: obj obj/main.o obj/pojemnik.o 
    g++ obj/main.o -o program 

你已經忘記了在命令obj/pojemnik.o,使G ++會嘗試沒有鏈接。這就是爲什麼它找不到Pojemnik課程的任何標誌。

+0

謝謝。這總是一件簡單的事情。我明天回來時會上傳代碼。 –

相關問題