Por favor, ajude a compilar o brogue-1.7

1

Eu fiz o download de fontes do link

descompactou-os com tar -xf ./brog*

então tentou criar e obteve erros sobre a falta da libsdl1.2, então eu instalei com sudo apt-get install libsdl1.2-dev

depois, recebi erros sobre a falta de ncurses.h e instalei alguns pacotes: sudo apt-get install ncurses-term ncurses-base ncurses-bin libncurses5-dev

make gera uma saída longa com avisos e o erro:

~/brogue/brogue-1.7.4$ make
./brogue: line 4: ./brogue: No such file or directory
cc -O2 -march=i586 -o bin/brogue src/brogue/Architect.o src/brogue/Combat.o src/brogue/Dijkstra.o src/brogue/Globals.o src/brogue/IO.o src/brogue/Items.o src/brogue/Light.o src/brogue/Monsters.o src/brogue/Buttons.o src/brogue/Movement.o src/brogue/Recordings.o src/brogue/RogueMain.o src/brogue/Random.o src/brogue/MainMenu.o src/brogue/Grid.o src/brogue/Time.o src/platform/main.o src/platform/platformdependent.o src/platform/curses-platform.o src/platform/tcod-platform.o src/platform/term.o -L. -Lsrc/libtcod-1.5.2 'sdl-config --cflags' 'sdl-config --libs' -ltcod -Wl,-rpath,. -lncurses -lm -Wl,-rpath,.
/usr/bin/ld: cannot find -ltcod
collect2: error: ld returned 1 exit status

novamente make clean e make both acabam com o erro:

cc -O2 -march=i586 -o bin/brogue src/brogue/Architect.o src/brogue/Combat.o src/brogue/Dijkstra.o src/brogue/Globals.o src/brogue/IO.o src/brogue/Items.o src/brogue/Light.o src/brogue/Monsters.o src/brogue/Buttons.o src/brogue/Movement.o src/brogue/Recordings.o src/brogue/RogueMain.o src/brogue/Random.o src/brogue/MainMenu.o src/brogue/Grid.o src/brogue/Time.o src/platform/main.o src/platform/platformdependent.o src/platform/curses-platform.o src/platform/tcod-platform.o src/platform/term.o -L. -Lsrc/libtcod-1.5.2 'sdl-config --cflags' 'sdl-config --libs' -ltcod -Wl,-rpath,. -lncurses -lm -Wl,-rpath,.
/usr/bin/ld: cannot find -ltcod
collect2: error: ld returned 1 exit status
make: *** [bin/brogue] Error 1

Mais mensagens para make curses :

~/brogue/brogue-1.7.4$ make curses
./brogue: line 4: ./brogue: No such file or directory
cc -O2 -march=i586 -o bin/brogue src/brogue/Architect.o src/brogue/Combat.o src/brogue/Dijkstra.o src/brogue/Globals.o src/brogue/IO.o src/brogue/Items.o src/brogue/Light.o src/brogue/Monsters.o src/brogue/Buttons.o src/brogue/Movement.o src/brogue/Recordings.o src/brogue/RogueMain.o src/brogue/Random.o src/brogue/MainMenu.o src/brogue/Grid.o src/brogue/Time.o src/platform/main.o src/platform/platformdependent.o src/platform/curses-platform.o src/platform/tcod-platform.o src/platform/term.o -lncurses -lm -Wl,-rpath,.
src/platform/tcod-platform.o: In function 'loadFont':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:36: undefined reference to 'SDL_GetVideoInfo'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:56: undefined reference to 'TCOD_console_set_custom_font'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:57: undefined reference to 'TCOD_console_init_root'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:59: undefined reference to 'TCOD_console_map_ascii_codes_to_font'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:60: undefined reference to 'TCOD_console_set_keyboard_repeat'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:61: undefined reference to 'TCOD_mouse_show_cursor'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:63: undefined reference to 'SDL_RWFromFile'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:63: undefined reference to 'SDL_LoadBMP_RW'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:63: undefined reference to 'SDL_WM_SetIcon'
src/platform/tcod-platform.o: In function 'gameLoop':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:68: undefined reference to 'SDL_Init'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:76: undefined reference to 'TCOD_console_delete'
src/platform/tcod-platform.o: In function 'tcod_plotChar':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:129: undefined reference to 'TCOD_console_put_char_ex'
src/platform/tcod-platform.o: In function 'processSpecialKeystrokes':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:141: undefined reference to 'TCOD_sys_save_screenshot'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:147: undefined reference to 'TCOD_sys_get_char_size'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:155: undefined reference to 'TCOD_console_set_fullscreen'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:162: undefined reference to 'TCOD_console_set_fullscreen'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:167: undefined reference to 'TCOD_console_delete'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:171: undefined reference to 'TCOD_console_flush'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:178: undefined reference to 'TCOD_console_set_fullscreen'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:183: undefined reference to 'TCOD_console_delete'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:186: undefined reference to 'TCOD_console_flush'
src/platform/tcod-platform.o: In function 'rewriteKey':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:202: undefined reference to 'SDL_GetModState'
src/platform/tcod-platform.o: In function 'getModifiers':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:226: undefined reference to 'SDL_GetKeyState'
src/platform/tcod-platform.o: In function 'tcod_pauseForMilliseconds':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:327: undefined reference to 'TCOD_console_flush'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:328: undefined reference to 'TCOD_sys_sleep_milli'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:332: undefined reference to 'TCOD_sys_check_for_event'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:334: undefined reference to 'TCOD_sys_check_for_event'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:343: undefined reference to 'TCOD_mouse_get_status'
src/platform/tcod-platform.o: In function 'tcod_nextKeyOrMouseEvent':
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:366: undefined reference to 'TCOD_console_flush'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:373: undefined reference to 'TCOD_sys_elapsed_milli'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:375: undefined reference to 'TCOD_console_is_window_closed'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:400: undefined reference to 'TCOD_console_is_key_pressed'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:403: undefined reference to 'TCOD_console_is_key_pressed'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:416: undefined reference to 'TCOD_console_is_key_pressed'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:419: undefined reference to 'TCOD_console_is_key_pressed'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:427: undefined reference to 'SDL_GetAppState'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:428: undefined reference to 'TCOD_sys_sleep_milli'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:434: undefined reference to 'TCOD_console_flush'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:438: undefined reference to 'TCOD_sys_check_for_event'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:448: undefined reference to 'TCOD_mouse_get_status'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:450: undefined reference to 'SDL_GetAppState'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:510: undefined reference to 'TCOD_sys_elapsed_milli'
/home/billy/brogue/brogue-1.7.4/src/platform/tcod-platform.c:513: undefined reference to 'TCOD_sys_sleep_milli'
collect2: error: ld returned 1 exit status
make: *** [bin/brogue] Error 1
    
por zuba 07.04.2017 / 11:18

1 resposta

0

Apenas esbarrei nisso - aparentemente, o Brogue é construído usando libtcod a.k.a. "The Doryen Library" , uma estrutura de aplicativos dedicada para jogos de console com rologia (por sua vez, com base no SDL ). libtcod não está disponível nos repositórios do Ubuntu, então você tem que construí-lo a partir do código fonte ou baixar um de seus binários . O site oficial pode ser encontrado no link que fornece um repositório do Mercurial, ou, se você preferir o Git, vá para link

% bl0ck_qu0te%     
por Ola Tuvesson 05.09.2018 / 18:20