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

Code::Blocks - kilka pytań

Ostatnio zmodyfikowano 2009-09-08 07:51
Autor Wiadomość
Rudy
Temat założony przez niniejszego użytkownika
Code::Blocks - kilka pytań
» 2009-09-07 22:58:21
Witam ponownie. Otóż niedawno przesiałem się z Dev'a na Code::Blocks. Wygląd - lepszy, użytkowanie - lepsze, język - zły, bo angielski ;), ale da się żyć. Ale miałbym kilka pytań odnośnie jego działania:
1. Gdzie domyślnie kompilator się kieruje w poszukiwaniu pliku widząc
#include <...> ?
2. Gdzie można dodać mu nowe miejsca przeszukiwania?
3. Czy można jakoś język programu zmienić na polski (wygodniej)
4. Czemu program wczytuje plik alfont.h, ale nie może użyć funkcji w pliku? (po użyciu funkcji pisze undefined reference, natomiast, jeślie się napisze alfont_ i zaczeka, aż pokaże się lista, te funkcje są w liście)
P-10112
DejaVu
» 2009-09-07 23:34:53
Ad 2) Settings/Compiler and Debugger:
Zakładka: Search directories
Podzakładka Compiler - tutaj dodać katalogi z dodatkowymi z include'ami
Pozakładka Linker - miejsce przeszukiwania dodatkowych lib'ów
P-10113
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-08 18:36:12
Hehe, mi też się te dwie nazwy mylą :D

Dodałem odpowiednie katalogi, tam gdzie powinienem. Tego błędu już nie ma, pojawił się natomiast inny błąd:
mingw32-g++.exe: ../lib/liballeg_s.a: No such file or directory
Dodałem folder, gdzie kompilator powinien szukać tego pliku, tam, gdzie P. Piotr kazał, dodatkowo podałem jeszcze w Linker settings/Link liblaries dokładne położenie pliku, błąd nadal występuje. Nie jest to jednak związane z wprowadzaniem biblioteki allegro.h, tylko alfont.h, ponieważ gdy usunąłem wpis #include <alfont.h> ten błąd zniknął (pojawiły się błędy, że nie można znaleźć funkcji alfona, ale to zrozumiałe dlaczego), a zatem błąd pochodzi z biblioteki alfont. Jak mogę rozwiązać tego typu problem?
P-10116
jimmye
» 2009-09-09 15:18:51
A masz ten plik ? liballeg_s.a
P-10119
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-09 16:16:28
... no mam, czemu miałbym nie skopiować wszystkich plików?
P-10120
malan
» 2009-09-09 19:02:39
Spróbuj może dodać tą bibliotekę tak:
Projekt -> Opcje projektu -> Parametry -> Dodaj plik -> lokalizacja biblioteki
P-10123
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-10 14:06:10
Czytaj temat, to nie jest Dev-Cpp, tylko Code::Blocks.
Na C::B zrobiłem już coś podobnego (kto ma C::B, niech sprawdzi, czy to jest to): Settings -> Compiler and debugger -> Linker Settings -> Link Liblaries. Dalej nie działało.



Po wyciągnięciu i przeczytaniu pewnego tematu z archiwum postanowiłem jaśniej określić moją sytuację, by mogliście mi pomóc:

A więc. Zacząłem korzystać z Code::Blocks. Aby program działał dobrze, trzeba go odpowiednio przygotować (nakierować na foldery z lib'ami, includami, itd.) W tym mam właśnie problem. Jak już wcześniej napisałem, wprowadziłem do kompilatora plik z lib'em, oraz foldery, gdzie te pliki się znajdują. Mimo to pokazuje się błąd, jakby tego pliku nie było.

Kod programu:
C/C++
/// ------------------------------------ wprowadzanie bibliotek -----------------------------------
#include <cmath>                                                                                   /// biblioteka matematyczna
#include <algorithm>                                                                               /// dopełnienie biblioteki matematycznej
//#include "C:\Program Files\CodeBlocks\share\CodeBlocks\include\allegro.h"                          /// biblioteka programów 2D
#include <allegro.h>                                                                               /// biblioteka programów 2D
//#include "C:\Program Files\CodeBlocks\share\CodeBlocks\include\alfont.h"                           /// biblioteka matematyczna
#include <alfont.h>                                                                                /// biblioteka matematyczna

/// -------------------------------- uruchamianie przestrzeni nazw --------------------------------
using namespace std; /// główna przestrzeń nazw

/// --------------------- funkcja draw_table (malowanie onka wielofunkcyjnego) --------------------
void draw_table( BITMAP * pos, int x, int y, int w, int h, int color, int move, int press ) /// inicjalizacja funkcji
{
    short col[ 4 ]; /// zmienna przetrzymująca róźne odcienie kolorów
    for( short arg = 0; arg < 4; arg++ ) /// inicjalizacja czterokrotnej pętli
    col[ arg ] = makecol( min( max( color + move *( arg - 2 ), 0 ), 255 ) /// tworzenie odcienia - czerwony
    , min( max( color + move *( arg - 2 ), 0 ), 255 ) /// tworzenie odcienia - zielony
        , min( max( color + move *( arg - 2 ), 0 ), 255 ) ); /// tworzenie odcienia - niebieski
   
    hline( pos, x, y, x + w - 2 + press, col[ 2 - 2 * press ] ); /// pozioma bardziej na górę, lewo linia
    vline( pos, x, y + 1, y + h - 2 + press, col[ 2 - 2 * press ] ); /// pionowa bardziej na górę, lewo linia
    hline( pos, x + 1, y + 1, x + w - 3 + press, col[ 3 - 2 * press ] ); /// pozioma mniej na górę, lewo linia
    vline( pos, x + 1, y + 2, y + h - 3 + press, col[ 3 - 2 * press ] ); /// pionowa mniej na górę, lewo linia
    rectfill( pos, x + 2, y + 2, x + w - 3, y + h - 3, col[ 2 ] ); /// środkowy prostokąt
    hline( pos, x + 1 + press, y + h - 2, x + w - 2, col[ 1 + 2 * press ] ); /// pozioma mniej na dół, prawo linia
    vline( pos, x + w - 2, y + 1 + press, y + h - 3, col[ 1 + 2 * press ] ); /// pionowa mniej na dół, prawo linia
    hline( pos, x + press, y + h - 1, x + w - 1, col[ 0 + 2 * press ] ); /// pozioma bardziej na dół, prawo linia
    vline( pos, x + w - 1, y + press, y + h - 2, col[ 0 + 2 * press ] ); /// pionowa bardziej na dół, prawo linia
}
END_OF_FUNCTION( draw_table ); /// zakończenie funkcji

/// --------------------------------- inicjalizacja głównego kodu ---------------------------------
int main() /// inicjalizacja funkcji głównej
{
    /// ----------------------------------- inicjalizacje główne ----------------------------------
    allegro_init(); /// inicjalizacja allegro
    alfont_init(); /// inicjalizacja alfont
    install_mouse(); /// kontrola myszki
    install_keyboard(); /// kontrola klawiatury
    set_color_depth( 16 ); /// głębia kolorów
    set_gfx_mode( GFX_AUTODETECT_WINDOWED, 640, 480, 0, 0 ); /// ustawienia grafiki
    show_mouse( screen ); /// ustawienie myszki na ekranie
    unscare_mouse(); /// pokazanie myszki
    set_uformat( U_UTF8 ); /// ustawienie polskich znaków
    BITMAP * bufor = create_bitmap( SCREEN_W, SCREEN_H ); /// stworzenie bitmap
    clear_to_color( bufor, makecol( 192, 192, 192 ) ); /// reset tła
    ALFONT_FONT * arial; /// utworzenie wskaźnika czcionki tytułowej
    arial = alfont_load_font( "C:/Windows/Fonts/arial.tff" ); /// wczytanie czcionki tytułowej
    int main = 1; /// stworzenie zmiennych int
   
    /// --------------------------------------- kod programu --------------------------------------
    while( main > 0 ) /// pętla menu
    {
        //alfont_set_font_size(arial,72);
        //alfont_textout_centre_ex(bufor,arial,"Math Points",325,0,makecol(255,255,255),-1);         /// napis główny - podkład
        //alfont_textout_centre_ex(bufor,arial,"Math Points",315,-10,makecol(0,0,0),-1);             /// napis główny - napis
       
        //textout_centre_ex(bufor,Arial_10B,"Minimalne wymagania",160,100,makecol(0,0,0),-1);        /// górny, lewy komentarz przycisku
        //textout_centre_ex(bufor,Arial_10B,"Szybkość gry",320,100,makecol(0,0,0),-1);               /// górny komentarz do przycisku
        //textout_centre_ex(bufor,Arial_10B,"Maksymalne wymagania",480,100,makecol(0,0,0),-1);       /// górny, prawy komentarz do przycisku
       
        draw_table( bufor, 110, 118, 100, 25, 192, 64, 0 ); /// górny, lewy przycisk
       
        blit( bufor, screen, 0, 0, 0, 0, bufor->w, bufor->h ); /// kopiowanie bufora na ekran
       
        if( key[ KEY_ESC ] ) main = 0; /// wyjście awaryjne ;)
       
    }
   
    /// ------------------------------------- deinicjalizacje -------------------------------------
    alfont_destroy_font( arial ); /// usuwanie czcionki
    alfont_exit();
    allegro_exit(); /// deinicjalizacja allegro
    return( 0 ); /// potwierdzenie pomyślnego zakończenia programu
}
END_OF_MAIN() /// zakończenie funkcji głównej

Build Log:

-------------- Build: default in Projekt1 ---------------

Compiling: allegro.cpp
Linking executable: Allegro Mission.exe
mingw32-g++.exe: ../lib/liballeg_s.a: No such file or directory
Process terminated with status 1 (0 minutes, 1 seconds)
0 errors, 0 warnings

Dodatkowo, program nie chce pokazać polskich znaków, mimo, iż ustawiłem kodowanie tekstu w C::B na UTF-8, oraz dodałem funkcję ustawiającą to samo w programie.

Domyślam się, że możecie mieć pewne problemy z oddzieleniem komentarzy z kodu. Proponuję skopiować tekst na notatnik, ustawić czcionkę, która ma te same wielkości liter i wyłączyć zawijanie wierszy. Powinno być lepiej.

Mam nadzieję, że po dokładnym przedstawieniu błędu pomoc przyjdzie szybciej :)
P-10146
DejaVu
» 2009-09-10 20:52:06
Skoro dostajesz nadal tem błąd to albo podałeś złą ścieżkę do katalogu albo w katalogu nie ma podanej biblioteki.
P-10156
« 1 » 2
  Strona 1 z 2 Następna strona