• Welcome to TUKE FÓRUM - Fórum pre študentov Technickej Univerzity v Košiciach.
 

sokoban + vsetko k tomu

Started by pinko, 19.04.2012, 04:01:18

« predchdzajce - alie »

pinko

Mam mensi problem. Po pridani curses.h do projektu mi pri preklade vyskocilo:

In file included from main.c:16:0:
include/curses.h:160:0: error: "MOUSE_MOVED" redefined

Viem minimalne o jednom cloveku ktoremu to tiez robi, takze nie som nejaky specialny pripad  :D
vdaka za kazdy help

pinko

Problem vyrieseny  :D :D
Pre vsetkych s podobnym trapenim - curses.h musi byt vlozeny pred windows.h v zdrojaku  :)

Rimbaud

Quote from: pinko on  19.04.2012, 04:03:08
Problem vyrieseny  :D :D
Pre vsetkych s podobnym trapenim - curses.h musi byt vlozeny pred windows.h v zdrojaku  :)

Vidíš nemusel by si sa pýtať keby si sa pozrel do tých videí na youtube ... aspoň na niečo sú dobré :D
Meat is Murder.

branislav

viete mi poradiť, ako mám vlastne písať tie funkcie? nie zdroják, ale akou syntaxou zadávať tie funkcie curses...napr. napíšem initscr() a endwin() (WINDOW *initscr(void); int endwin(void);) do turnOn() a turnOff()...a moodli píše, že by mi malo skompilovať ale nevykresliť nič (robím na ubuntu cez príkazový riadok) ale mne to normálne vykreslí...nerozumiem, kde mám chybu (alebo som len zle pochopil :)?)... z tých príkladových funkcií po nete a prednáškových pdf som nepochopil ani ň...  ???
1.21 gigawatts? Great Scott!

pinko

mne tiez najprv vypisovalo, ked som zacal prepisovat funkcie na tie co mame pouzivat z curses tak v nejakom bode prestalo vypisovat, no pokracoval som dalej a potom vypisovanie zas nabehlo, no uz neviem co presne treba na to. Proste to rob podla navodu a malo by to ist.

iren2118

Quote from: venegur on  21.04.2012, 06:40:18
Viete niekto povedat ako prakticky treba pouzit funkciu move z kroku c. 2 v 9. cviku.
A preco to stale vypisuje ze redirection is not supported, co to je za blud.
Ide mi aj namapovanie klavesy movek ale musim to zapinat rucne ten projekt, mam tam aj tie kniznice, neviete mi poradit ako spravit nech to bezi automaticky po skompilovani.
Funkciu move mozes pouzit, ak nechces znova a znova vykreslovat cely svet, iba zmeny Karlovej pozicii, pripadne vypisy stavoveho riadku (ale tusim to ani nie je povinna uloha). Druhej otazke som velmi nepochopila  ah:

venegur

Quote from: iren2118 on  21.04.2012, 13:33:43
Quote from: venegur on  21.04.2012, 06:40:18
Viete niekto povedat ako prakticky treba pouzit funkciu move z kroku c. 2 v 9. cviku.
A preco to stale vypisuje ze redirection is not supported, co to je za blud.
Ide mi aj namapovanie klavesy movek ale musim to zapinat rucne ten projekt, mam tam aj tie kniznice, neviete mi poradit ako spravit nech to bezi automaticky po skompilovani.
Funkciu move mozes pouzit, ak nechces znova a znova vykreslovat cely svet, iba zmeny Karlovej pozicii, pripadne vypisy stavoveho riadku (ale tusim to ani nie je povinna uloha). Druhej otazke som velmi nepochopila  ah:

No som myslel, ze na to je hlavne ten clear a refresh,no neva bezi to i tak. A ta druha otazka, normalne som v prostredi netbeans, stlacim ctrl+F5, spusti debugger a na konci kompilacie (bez warningov a chyb) mi vypise hlasku Redirection is not supported. Ale ked to spustim z toho miesta, kde mam ulozeny projekt, ten exe subot the project, tak tam mi to bezi, ta mapka a pohybujem sa v nej...

iren2118

Quote from: venegur on  21.04.2012, 18:58:09
Quote from: iren2118 on  21.04.2012, 13:33:43
Quote from: venegur on  21.04.2012, 06:40:18
Viete niekto povedat ako prakticky treba pouzit funkciu move z kroku c. 2 v 9. cviku.
A preco to stale vypisuje ze redirection is not supported, co to je za blud.
Ide mi aj namapovanie klavesy movek ale musim to zapinat rucne ten projekt, mam tam aj tie kniznice, neviete mi poradit ako spravit nech to bezi automaticky po skompilovani.
Funkciu move mozes pouzit, ak nechces znova a znova vykreslovat cely svet, iba zmeny Karlovej pozicii, pripadne vypisy stavoveho riadku (ale tusim to ani nie je povinna uloha). Druhej otazke som velmi nepochopila  ah:

No som myslel, ze na to je hlavne ten clear a refresh,no neva bezi to i tak. A ta druha otazka, normalne som v prostredi netbeans, stlacim ctrl+F5, spusti debugger a na konci kompilacie (bez warningov a chyb) mi vypise hlasku Redirection is not supported. Ale ked to spustim z toho miesta, kde mam ulozeny projekt, ten exe subot the project, tak tam mi to bezi, ta mapka a pohybujem sa v nej...

clear a refresh je len na vymazanie obrazovky a jej opatovne vykreslenie. Ako som uz pisala, move zabezpecuje trosku "interaktivnejsie" prostredie v tom, ze sa nevykresluje opat cely svet ale iba zmenena pozicia karla. Inak aj ja pustam priamo exe-subor, cize v tom by problem byt nemal  ;)

venegur


branislav

viete mi ešte niekto poradiť? mám #include <curses.h> (ako posledné v poradí všetkých include, ale robilo mi to, aj keď som to poprehadzoval) a keď zmením printf na printw, vyhodí mi po kompilácii:
/tmp/ccBCUXiD.o: In function `draw':
main.c:(.text+0x354): undefined reference to `printw'
collect2: ld returned 1 exit status

nerozumiem, curses mám normálne v priečinku include v TheProject a ešte som ho aj nainštaloval cez príkazový riadok a stále mi to vyhadzuje... treba tam niečo poprehadzovať ako na windowse (robím na ubuntu) alebo len zas robím niekde chybu v syntaxi? ;D
1.21 gigawatts? Great Scott!

Luk1

Quote from: branislav on  27.04.2012, 02:49:50
viete mi ešte niekto poradiť? mám #include <curses.h> (ako posledné v poradí všetkých include, ale robilo mi to, aj keď som to poprehadzoval) a keď zmením printf na printw, vyhodí mi po kompilácii:
/tmp/ccBCUXiD.o: In function `draw':
main.c:(.text+0x354): undefined reference to `printw'
collect2: ld returned 1 exit status

nerozumiem, curses mám normálne v priečinku include v TheProject a ešte som ho aj nainštaloval cez príkazový riadok a stále mi to vyhadzuje... treba tam niečo poprehadzovať ako na windowse (robím na ubuntu) alebo len zas robím niekde chybu v syntaxi? ;D
skus pridat ked kompilujes flag -lcurses

Za slovensky narod bije mi srdce v hrudi.

branislav

1.21 gigawatts? Great Scott!

branislav

keď to spúšťam v netbeans, tak mi vyhodí:
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'. Stop.

joooj, moje nervy, nič mi tu nefunguje  :ohmigod:
1.21 gigawatts? Great Scott!

pinko

Quote from: branislav on  28.04.2012, 20:20:53
keď to spúšťam v netbeans, tak mi vyhodí:
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'. Stop.

joooj, moje nervy, nič mi tu nefunguje  :ohmigod:

s tymto sa stretavam na skolskych pocitacoch stale.... doma vsetko normalne funguje ale ked svoj projekt otvorim na skolskom tak to blbne. Zakazdym si vytvorim novy projekt a kod prekopirujem do noveho mainu

Magnifikus

Quote from: branislav on  28.04.2012, 20:20:53
keď to spúšťam v netbeans, tak mi vyhodí:
make: Makefile: No such file or directory
make: *** No rule to make target `Makefile'. Stop.

joooj, moje nervy, nič mi tu nefunguje  :ohmigod:

Mal som v minulosti tiež taky problem ,myslim že pomože ak si z nejakeho projectu,kt. funguje skopiruješ subor Makefile do priečinka kde maš konkretny projekt

pinko

mohol by mi s tymto niekto pomoct?

snazim sa rozdelit projekt do viacerych modulov.  Do samostatneho library.c  som dal definicie vsetkych funkcii co pouzivam, makra, symbolicke konstanty definovane cez #define, enumy, globalne premenne (map, world, karel), vsetky include co pouzivam (aj library.h). K tomu som spravil library.h kde su hlavicky vsetkych funkcii. V main mam iba main funkciu + include (aj s library.h).

Problem je, ze ked skompilujem, prekladac vypise:
main.c:34:13: error: 'world' undeclared (first use in this function)
- world je jedina premenna definovana inde, co v maine pouzivam

http://circuitnegma.wordpress.com/2008/07/16/c-programming-how-to-use-a-variable-in-multipledifferent-source-files/
Skusal som teda podla tohto navodu dat do library.h toto:
extern World world;

no kompilator vypise:
In file included from library.c:5:0:
library.h:5:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'world'

nejaky napad pls?  :(


Rimbaud

Quote from: pinko on  29.04.2012, 20:14:34
mohol by mi s tymto niekto pomoct?

snazim sa rozdelit projekt do viacerych modulov.  Do samostatneho library.c  som dal definicie vsetkych funkcii co pouzivam, makra, symbolicke konstanty definovane cez #define, enumy, globalne premenne (map, world, karel), vsetky include co pouzivam (aj library.h). K tomu som spravil library.h kde su hlavicky vsetkych funkcii. V main mam iba main funkciu + include (aj s library.h).

Problem je, ze ked skompilujem, prekladac vypise:
main.c:34:13: error: 'world' undeclared (first use in this function)
- world je jedina premenna definovana inde, co v maine pouzivam

http://circuitnegma.wordpress.com/2008/07/16/c-programming-how-to-use-a-variable-in-multipledifferent-source-files/
Skusal som teda podla tohto navodu dat do library.h toto:
extern World world;

no kompilator vypise:
In file included from library.c:5:0:
library.h:5:14: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'world'

nejaky napad pls?  :(

Ja som si dal štruktúry, makrá etc. do library.h a nie do library.c o.O
Meat is Murder.

pinko

ked dam premenne, typedefy, enumy atd do library.h tak mi vypise:
build/Windows/Cygwin_4.x-Windows/main.o:main.c:(.data+0x0): multiple definition of `_map'  >:( >:(

Rimbaud

Quote from: pinko on  29.04.2012, 21:15:11
ked dam premenne, typedefy, enumy atd do library.h tak mi vypise:
build/Windows/Cygwin_4.x-Windows/main.o:main.c:(.data+0x0): multiple definition of `_map'  >:( >:(


Tak si vymaž tú deklaráciu map z mainu :)
Meat is Murder.

pinko

Quote from: Informatik on  29.04.2012, 22:43:15
Quote from: pinko on  29.04.2012, 21:15:11
ked dam premenne, typedefy, enumy atd do library.h tak mi vypise:
build/Windows/Cygwin_4.x-Windows/main.o:main.c:(.data+0x0): multiple definition of `_map'  >:( >:(


Tak si vymaž tú deklaráciu map z mainu :)
v maine som ju ani nemal deklarovanu...ale to jedno uz to ide.
Bolo treba presunut enumy, typedefy a makra do library.h a premenne definovat AZ za definiciou datoveho typu, ktoreho bola premenna  :)

iren2118

Quote from: venegur on  30.04.2012, 03:10:40
Pocujte v poziadavkach na odovzdanie zadanie je toto:

"Makefile - súbor pre make obsahujúci minimálne ciele all na vygenerovanie spustiteľnej binárky; a clean na zmazanie vykompilovaných bináriek a modulov"

Co to je ? Ak si otvorim projekt mam tam nejaky Makefile, ale ten subor nie je spustitelny, pyta sa OS ze v com ho ma otvorit..

viac info google->Makefile  ;D Inak ti staci presne ako pisu, hodit makefile a vsetky zdrojaky (cize nie cely projekt) a exe-subor do priecinku :)

venegur

No ta naco to tak napisu, sak aj tak im vacsina cely projekt posle.   :whacko:

ApokalypS

aby sa naucili, ze co je naco a co je k comu dobre ;)
80% mozgu človeka tvorí kvapalina, v mojom prípade brzdová..

CHCEM S5 :zuzka: STARY IS :zuzka: !!!!
http://www.tu-ke.com/forum/o-nicom/otvoreny-list-vedeniu-firmy-dupress-(dodavatel-mais)/

pinko

vedel by mi niekto povedat preco nieco taketo prekladac nedovoli:

typedef struct level{
    char *name;
    char* description;
    char* password;
    char* map;
    Level* next_level;   
}Level;



ale nieco taketo uz prekladac berie?

typedef struct level{
    char *name;
    char* description;
    char* password;
    char* map;
    struct level* next_level;   
}Level;



ide o tu poslednu polozku next_level ... predpokladam ze v prvom pripade hlasi chybu preto ze polozkou noveho datoveho typu je nieco co este nebolo vytvorene .... ale nie je to v druhom pripade to iste?
resp. preco je to prve nespravne

Rimbaud

čo môže znamenať táto chyba  : parse error before token "*"
na tomto riadku:

LEVEL* level;       ? 
Meat is Murder.