Dzielenie projektu Allegro 5 na osobne pliki

Dzielenie projektu Allegro 5 na osobne pliki
T1
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:5
0

Witajcie :) Tworzę projekt Allegro 5 podzielony na kilka plików, w którym chciałbym we wszystkich plikach mieć dostęp do funkcji i typów z Allegro 5, jednak mam problem z kompilacją. W uproszczonej wersji do testów mam tylko dwa pliki, "main.cpp" oraz "plik_naglowkowy.hpp".

W głównym pliku mam kompilujące się i działające okno Allegro 5, więc mam na początku potrzebne includy :

Kopiuj
#include <allegro5/allegro.h>
#include "allegro5/allegro_image.h"

oraz funkcje inicjalizujące Allegro czyli m.in. "al_init()", "al_init_image_addon()" itp.

Dodatkowo w głównym pliku includuję jeszcze swój plik nagłówkowy - "plik_naglowkowy.hpp".

W w/w pliku nagłówkowym do testu zostawiłem tylko deklarację klasy z jedną zmienną, czyli :

Kopiuj
#ifndef PLIK_NAGLOWKOWY_HPP
#define PLIK_NAGLOWKOWY_HPP

#include <allegro5/allegro.h>
#include "allegro5/allegro_image.h"

class klasa
{
    ALLEGO_BITMAP *bitmapa;

};

#endif

jednak gdy próbuję to skompilować, to kompilator twierdzi że "'ALLEGO_BITMAP' does not name a type".
Gdy usuwam pierwszego includa i zostawiam tylko includowanie "allegro5/allegro_image.h" jest jeszcze więcej błędów :

allegro_image.h|32|error: 'al_init_image_addon' has not been declared|
allegro_image.h|32|error: expected identifier before '(' token|
allegro_image.h|32|error: expected constructor, destructor, or type conversion before ';' token|
allegro_image.h|33|error: 'al_shutdown_image_addon' has not been declared|
allegro_image.h|33|error: expected identifier before '(' token|
allegro_image.h|33|error: expected constructor, destructor, or type conversion before ';' token|
allegro_image.h|34|error: expected constructor, destructor, or type conversion before '(' token|
plik_naglowkowy.hpp|74|error: 'ALLEGO_BITMAP' does not name a type|

Próbowałem zrobić tę bitmapę jako zmienną extern i deklarować ją w pliku .cpp ale nic to nie pomogło.
Potrafi ktoś wytłumaczyć jak to rozwiązać, żeby móc we wszystkich plikach korzystać z typów i funkcji Allegro ?

LU
  • Rejestracja:ponad 11 lat
  • Ostatnio:8 dni
  • Lokalizacja:Gdańsk
0
Kopiuj
class klasa
{
    ALLEGO_BITMAP *bitmapa;
 
};

Nie powinno być przypadkiem ALLEGRO_BITMAP?


T1
  • Rejestracja:prawie 11 lat
  • Ostatnio:prawie 11 lat
  • Postów:5
0

Kochana uważność, a ja cały dzień zachodzę w głowę... Dzięki :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.