C++|Code::Blocks| Kompilowanie klas

0

Witam.

Sytuacja wygląda tak:
Utworzyłem sobie kiedyś program, powiedzmy o nazwie lista.
Miałem pliki:
lista.h zawierajaca deklaracje klasy lista
lista.cpp zawierajaca definicje wszystkich funkcji skladowych
main.cpp programik korzystajacy z tej klasy.

Tworze teraz kolejny program w ktorym chce wykorzystac moja klase lista. Nie chcialbym dołączać do projektu plikow lista.h i lista.cpp, lecz jakos je polaczyc(skompilowac, zlinkowac?) i dodac tylko jeden plik opisujący całą klasę. Może ktoś mi pomóc jak to zrobić?

0

Lista.h będziesz musiał jakoś dołączyć, inaczej skąd kompilator ma wiedzieć jaka jest definicja klasy lista. Co do kompilowania to wystarczy, że będziesz linkował plik obiektowy pochodzący od lista.h z nowym projektem (pewnie będzie to lista.o, choć nie wiem dokładnie jak to jest pod windowsem), choć chyba prościej będzie po prostu skopiować. Możesz też skompilować plik lista.cpp (i inne) do biblioteki (dynamicznej lub nie.dll), ale i tak będziesz musiał dołączyć plik lista.h (i ją podlinkować). Zwykle pliki bibliotek zawierają więcej klas. Biblioteki dodajesz przez opcje budowania (build options)->ustawienia linkera (linker settings).

0

Dzięki bardzo za odpowiedź.

Mam jeszcze jedno pytanko (nie moglem znalezc odpowiedzi), jak w Code::block'sie zatrzymac program (albo chociazby jak jepozniej przeczytac) gdy w trakcie kompilacji otrzymujemy ostrzezenia?
Po skompilowaniu te ostrzezenia znikaja i nie mam pojecia, jak je pozniej przeczytac.

0

Chyba trzeba albo budować bez uruchamiania, albo kompilować tylko jeden plik, albo włączyć opcje -Wfatal-error. Radzę trzecią opcję, z dodatkowym -Wall.

0

Dziękuję bardzo ;)

Pozdrawiam

1 użytkowników online, w tym zalogowanych: 0, gości: 1