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
» 2009-09-10 23:00:27
Podałem wszystko dobrze, jeszcze raz sprawdziłem. Jedyna możliwość, to, że wpisałem to do złej tabeli, ale lokalizacja była podana przez Pana. Tak więc nie ma takiej możliwości.

Przeglądając w poszukiwaniu jakiekolwiek wskazówki natrafiłem na pewien wpis. W: "Settings -> Compiler and debugger -> Toolchain executables", w "Compiler's installation directory" znalazłem lokalizację prowadzącą do Dev-Cpp (tam gdzie jest zainstalowany Dev-Cpp, nie Code::Blocks). Nie wiem, czy to cokolwiek zmienia, ale uważam, że to trochę dziwne, że program podkrada innemu programowi pliki, dlatego napisałem o tym.
P-10161
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-12 20:02:58
Ponowna zmiana planów. Doszedłem do wniosku, że musiałem coś zepsuć wcześniej i tego nie zauważyć. Zacząłem więc od początku pisać w CB (wcześniej było kopiowane z Deva). Zacząłem od tego:
C/C++
#include <allegro.h>

using namespace std;

int main()
{
    allegro_init();
    allegro_exit();
    return( 0 );
}
END_OF_MAIN()

Log wyszedł taki:
obj\Debug\main.o(.text+0x2c):C:/Program Files/CodeBlocks/Moje projekty/Allegro test/main.cpp:8: undefined reference to `allegro_exit'
obj\Debug\main.o(.text+0x62): In function `WinMain':
C:/Program Files/CodeBlocks/Moje projekty/Allegro test/main.cpp:11: undefined reference to `_WinMain'
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
3 errors, 0 warnings

Był już o tym taki temat, skorzystąłem z niego i wpisałem w Other Linker Options:
-L/usr/lib -Wl,--export-dynamic -lalleg-4.2.2 -lalleg_unsharable

Log zmienił się na:

-------------- Build: Debug in Allegro test ---------------

Linking console executable: bin\Debug\Allegro test.exe
E:\Dev-Cpp\bin\..\lib\gcc\mingw32\3.4.2\..\..\..\..\mingw32\bin\ld.exe: cannot find -lalleg-4.2.2
collect2: ld returned 1 exit status
Process terminated with status 1 (0 minutes, 0 seconds)
1 errors, 0 warnings

Nie mam pomysłu, co z tym zrobić... Wiem tylko, że CB korzysta z folderów Deva, wliczając kompilator, wszelkie lib'y i include'y. Tego jestem pewny na 100%

Proszę o pomoc i o odpowiadanie w temacie, bardziej przydatna będzie dla mnie informacja, że nikt nie wie o co chodzi, niż, że widzę 20 użytkowników, którzy widzieli temat i nic nie powiedzieli. Przynajmniej wiem, że nie zostałem zapomniany. :) Gdyby nie ten błąd, napisałbym już jakieś 600 linijek kodu, a tak czekam tydzień i nic nie robię.
P-10200
DejaVu
» 2009-09-12 20:55:37
Już Ci napisałem odpowiedź... i to nie raz. Linkujesz plik, który nie istnieje. Jeśli plik nazywa się liballegro_s.a, należy wpisać w konsolidatorze -l allegro_s, gdzie -l, to mała litera L.

/edit:
W opcjach kompilatora będzie jeszcze prawdopodobnie potrzbny wpis: DALLEGRO_STATICLINK
P-10201
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-12 22:43:13
Być może mówił mi Pan mi to często, ale nie powiedział Pan dosłownie o co Panu chodzi. Z C++ jestem może od miesiąca, ledwo nauczyłem się pisać na konsoli, na Allegro umiem tylko Hello World napisać, mogłem nie wiedzieć o tej rzeczy.

po wpisaniu kompilator poszedł dalej, błędy jednak nadal się wyświetlają:

z tym DALLEGRO_STATICLINK nie do końca zrozumiałem gdzie dać. Wpisałem w Compiler and Debugger -> Compiler Settings -> Other options, nic to jednak nie dało.

Próbowałem łączyć to z poprzednimi wpisami, tzn.:
-L/usr/lib -Wl,--export-dynamic -lalleg-4.2.2 -lalleg_unsharable
Zatrzymywało sie na dwóch ostatnich, dlatego usunąłem całość.

EDIT: Naprawiłem błąd! Tu nie chodziło o źle wpisaną bibliotekę, nie trzeba było jej nawet wpisywać, można było skorzystać z lewej tabeli i wprowadzić plik. Problem w tym, że zajmowałem się złym plikiem. Nie liballeg_s.a, tylko liballeg.a! Mała różnica, ale dużo zmienia :D . Tylko... wstyd mi trochę, dowiedziałem się o tym z pewnego tematu na waszym forum, który był już tutaj od pewnego czasu. Mogłem lepiej poszukać, zamiast zawracać Panu głowę. Przepraszam za to. Niech to będzie lekcja dla tych co nie chcą/nie umieją szukać. Dzięki za pomoc i poświęcony czas. Zamykam.
P-10204
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-13 22:32:21
Tylko mnie nie bijcie XD . Co prawda allegro działa, ale alfont nie! Kolejny niewykonalny dla mnie problem, wygląda on mniej więcej tak. Są w kodzie dwie linie używające alfonta (alfont_init i alfont_exit, można się było domyśleć :) ). Wyskakują błędy "undefined reference to '<funkcja>'". Kombinowałem z readme, pisze tam o wprowadzeniu linii: #define ALFONT_DLL. Po wpisaniu tej linii błędy się troszkę zmieniły, wyskoczyło: "undefined reference to '_imp__<funkcja>'". Naturalnie próbowałem także z wprowadzaniem wszelakiej maści bibliotek. Wynik był taki, że po wprowadzeniu libalfont.a musi być także dopisane define (to co wyżej), inaczej wyskoczy ponad 50 błędów, a osobiście wolę mieć mniej czerwonego koloru w Logu ;) . Na jednym z forów była też jakaś lista lib'ów do wprowadzenia, też próbowałem, bez zmian. U mnie jest koniec pomysłów, a u was? :D .

Ostatecznie, jeśli już nie będzie pomysłów, może ktoś uploadować projekt alfonta na C::B ze swojego komputera, wtedy sprawdzę, czy u mnie działa i porównam różnice.
P-10218
DejaVu
» 2009-09-13 23:29:23
Załóż osobny temat do alfont'a. Nie ma to nic wspólnego z Code::Blocks.
P-10219
Rudy
Temat założony przez niniejszego użytkownika
» 2009-09-14 15:53:08
Przeniesiono :)
P-10224
manfred
» 2009-09-08 07:51:20
3. Nie, bo w zamierzeniu to program do pracy, nie zabawy. Ewentualnie możesz sam zrobić tłumaczenie.
4. Dolinkuj alfons, kurczę, Hauleth mi klawiaturę opętał! Alfont, znaczy się?
P-19286
1 « 2 »
Poprzednia strona Strona 2 z 2