Cześć, podzieliłem projekt na 3 pliki: main.cpp, funkcje.cpp i naglowki.hpp - z tym że ten projekt jest tworzony nie w czystym c++ tylko z biblioteką SDL i tutaj pierwszy raz spotkałem się z takim problemem, który zaraz opiszę bo w zwykłych projektach c++, które dzieliłem tak samo wszystko było spoko.
main.cpp:
#include "naglowki.hpp"
int main( int argc, char* args[] )
{
otworzOkno();
wyswietlanaGrafika = SDL_LoadBMP( "obraz.bmp" );
SDL_BlitSurface( wyswietlanaGrafika, NULL, powierzchniaOkna, NULL );
SDL_UpdateWindowSurface( oknoProgramu );
SDL_Delay( 1000 );
wyczyscPowierzchnie(powierzchniaOkna);
zamknijOkno();
return 0;
}
funkcje.cpp
#include "naglowki.hpp"
SDL_Window* oknoProgramu = NULL;
SDL_Surface* powierzchniaOkna = NULL;
SDL_Surface* wyswietlanaGrafika = NULL;
void otworzOkno()
{
oknoProgramu = SDL_CreateWindow("OKNO",SDL_WINDOWPOS_UNDEFINED,SDL_WINDOWPOS_UNDEFINED,300,150,0);
powierzchniaOkna = SDL_GetWindowSurface( oknoProgramu );
}
void wyczyscPowierzchnie(SDL_Surface* powierzchnia)
{
SDL_FreeSurface( powierzchnia );
powierzchnia = NULL;
}
void zamknijOkno()
{
SDL_DestroyWindow( oknoProgramu );
oknoProgramu = NULL;
SDL_Quit();
}
naglowki.hpp
#ifndef NAGLOWKI_HPP_INCLUDED
#define NAGLOWKI_HPP_INCLUDED
#include <SDL.h>
#include <stdio.h>
void otworzOkno();
void wyczyscPowierzchnie(SDL_Surface* powierzchnia);
void zamknijOkno();
#endif // NAGLOWKI_HPP_INCLUDED
Log errorów:
Podejrzewam że błąd tkwi w tych wskaźnikach na powierzchnie z funkcje.cpp ale po różnego rodzaju roszadach tych 3 linijek w różne pliki nadal pojawiały się błędy o mniej więcej tej samej tematyce/przyczynie i nie wiem jak mam podzielić mój kod żeby działał.