Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

[C++] Problem z plikami nagłówkowymi

Ostatnio zmodyfikowano 2009-09-16 07:56
Autor Wiadomość
programista12
Temat założony przez niniejszego użytkownika
[C++] Problem z plikami nagłówkowymi
» 2009-09-14 08:28:31
Witam!
Zacząłem pisać swój pierwszy edytor map w Allegro 5. Mam kilka plików nagłówkowych. Kiedy chcę skompilować program w Visual C++ 2008 Express kompilator wyświetla mi błąd LNK2005. Wiem, że chodzi tu o kolidujące ze sobą definicje. Nie wiem jak sobie poradzić z tym błędem. Kod pliku nagłówkowego:
C/C++
#ifndef _PROGRAM_H_
#define _PROGRAM_H_

#include <allegro5/allegro5.h>
#include <allegro5/a5_iio.h>
#include <allegro5/a5_font.h>
#include <allegro5/a5_ttf.h>
#include <allegro5/a5_primitives.h>
#include <string>
#include <iostream>
#include <ctime>

using namespace std;

//ZMIENNE
ALLEGRO_BITMAP * kursor;
ALLEGRO_BITMAP * sciana;
ALLEGRO_BITMAP * podloga;

//FUNKCJE

extern std::_Bool Inicjalizuj();
void Zamknij();

#endif

Kod pliku program.cpp:

C/C++
#include "program.h"
#include "polskie_znaki.h"
using namespace std;

std::_Bool Inicjalizuj()
{
    kursor = al_load_bitmap( "kursor.bmp" );
    sciana = al_load_bitmap( "sciana.bmp" );
    podloga = al_load_bitmap( "podloga.bmp" );
   
    if( !kursor )
    {
        cout << "Nie udalo sie wczytac obrazka 'kursor.bmp'!\n\n";
        return false;
    }
    else
    {
        cout << "Wczytano obrazek 'kursor.bmp'.\n\n";
    }
   
    if( !sciana )
    {
        cout << "Nie udalo sie wczytac obrazka 'sciana.bmp'!\n\n";
        return false;
    }
    else
    {
        cout << "Wczytano obrazek 'sciana.bmp'.\n\n";
    }
   
    if( !podloga )
    {
        cout << "Nie udalo sie wczytac obrazka 'podloga.bmp'!\n\n";
        return false;
    }
    else
    {
        cout << "Wczytano obrazek 'podloga.bmp'.\n\n";
    }
   
    return true;
}

Bardzo proszę o pomoc.
P-10220
programista12
Temat założony przez niniejszego użytkownika
» 2009-09-14 16:21:45
Czyli jak to ma wyglądać, bo nie bardzo kumam o co chodzi. 
P-10225
programista12
Temat założony przez niniejszego użytkownika
» 2009-09-14 19:40:34
Już poprawiłem tytuł tematu. Co do propozycji rozwiązania problemu dodałem extern przed ALLEGRO_BITMAP *podloga itp., ale dalej wyskakuje ten sam błąd.
P-10234
malan
» 2009-09-14 20:26:18
C/C++
extern std::_Bool Inicjalizuj();
Ten _Bool to jest typ zdefiniowany w al5 ?
P-10236
malan
» 2009-09-14 22:38:50
Pytałem, bo dziwnie to wygląda i może o to kompilatorowi chodzi ;p.
P-10244
programista12
Temat założony przez niniejszego użytkownika
» 2009-09-15 06:49:18
Napisałem _Bool, ponieważ pisząs zwykłe bool kompilator wywalał błąd "_Bool: ambiguous symbol".
P-10248
programista12
Temat założony przez niniejszego użytkownika
» 2009-09-15 16:28:48
Dzięki. Problem z bool rozwiązany. Jeszcze tylko problem z plikami nagłówkowymi i koniec tematu :)
P-10249
malan
» 2009-09-15 17:50:42
Wklej log kompilacji.
P-10251
« 1 » 2 3
  Strona 1 z 3 Następna strona