DC-SWAT Forum
Сборка - Версия для печати

+- DC-SWAT Forum (http://www.dc-swat.ru/forum)
+-- Форум: Sega Dreamcast (/forum-2.html)
+--- Форум: Programming (/forum-8.html)
+--- Тема: Сборка (/thread-1359.html)

Страниц: 1 2


Сборка - Василий - 27.06.2010 21:07

Пытаюсь собрать quake 2 из исходников bero .
Положил исходники Дрим и пк версий в одну папку , make оставил из dc порта :
[Изображение: a1bd646612bft.jpg]

Прописываю это :
cd examples/dreamcast/quake2
make

Процесс начинается , но выдаёт такую ошибку :
[Изображение: a29647e1c9b6.jpg]

Как исправить и что это значит ?
Почему у bero собиралось , а у меня не выходит ,хотя я ничего не менял ?


Ответ: Сборка - SWAT - 28.06.2010 05:58

Не найден файл: ../game/q_shared.c


Ответ: Сборка - Василий - 29.06.2010 21:55

А где он должен находиться ?
У меня лежит в папке C:\cygwin\usr\local\dc\kos\kos\examples\dreamcast\quake2\game

Я вообще правильно всё делаю ?...


Ответ: Сборка - SWAT - 30.06.2010 17:24

Сложно сказать в чем косяк, нужно все пошагово смотреть в makefile.


Ответ: Сборка - Василий - 04.07.2010 02:44

Кваку пока отложим ...
Возьмём ещё проще - тут , надеюсь , сразу разберёмся .
Ошибка такая :
[Изображение: 4f01567071dc.jpg]

Посмотрев в гугле , я понял , что это из-за неправильных путей в make к библиотекам sdl , сам не разобрался , так как там много папок с названием sdl ... Какие пути нужно прописать ?
В этих строках исправлять ?
#SDL_INC_DIR = /prog/SDL-1.2.5/include
#SDL_LIB_DIR = /lib/mingw
SDL_MIXER_DIR = /prog/dc/SDL_mixer-1.2.4

Код:
# KOS STUFF
EXTRALDFLAGS = -lz -lm

KOS_BASE=/prog/dc/KOS-1.1.9

SDL_INC_DIR = $(KOS_BASE)/include/SDL
SDL_LIB_DIR = $(KOS_BASE)/lib

SDL_MIXER_DIR = /prog/dc/SDL_mixer-1.2.4

SDL_CFLAGS := -I$(SDL_INC_DIR) -I$(SDL_MIXER_DIR)
SDL_LDFLAGS := -L$(SDL_LIB_DIR) -L$(SDL_MIXER_DIR)

# Global KallistiOS Makefile include

KOS_ALL_INCS := -I$(KOS_INCS) -I$(KOS_BASE)/libc/include \
    -I$(KOS_BASE)/kernel/arch/$(KOS_ARCH)/include

ifndef KOS_LIBS
    KOS_LIBS := -lkallisti -lgcc
    KOS_LDFLAGS := $(KOS_LDFLAGS) -L$(KOS_BASE)/lib
endif

KOS_ARCH_DIR = $(KOS_BASE)/kernel/arch/$(KOS_ARCH)
KOS_START = $(KOS_ARCH_DIR)/kernel/startup.o

CFLAGS=-I dc/include -DDC

#-----------------------------------------------------------------------------#
# Duke3D makefile.
#-----------------------------------------------------------------------------#




beos := false
#use_asm := true
use_asm := false;

#-----------------------------------------------------------------------------#
# If this makefile fails to detect Cygwin correctly, or you want to force
#  the build process's behaviour, set it to "true" or "false" (w/o quotes).
#-----------------------------------------------------------------------------#
cygwin := true
#cygwin := false
#cygwin := autodetect

# you only need to set these for Cygwin at the moment.
#SDL_INC_DIR = /prog/SDL-1.2.5/include
#SDL_LIB_DIR = /lib/mingw

# need this for now.
ifeq ($(strip $(beos)),true)
  use_asm := false
endif

# Don't touch anything below this line unless you know what you're doing.

ifeq ($(strip $(cygwin)),autodetect)
  ifneq ($(strip $(shell gcc -v 2>&1 |grep "cygwin")),)
    cygwin := true
  else
    cygwin := false
  endif
endif


ifeq ($(strip $(cygwin)),true)
  ifeq ($(strip $(SDL_INC_DIR)),please_set_me_cygwin_users)
    $(error Cygwin users need to set the SDL_INC_DIR envr var.)
  else
    SDL_CFLAGS := -I$(SDL_INC_DIR)
  endif

  ifeq ($(strip $(SDL_LIB_DIR)),please_set_me_cygwin_users)
    $(error Cygwin users need to set the SDL_LIB_DIR envr var.)
  else
    SDL_LDFLAGS := -L$(SDL_LIB_DIR) -lSDL
  endif
else
  SDL_CFLAGS := $(shell sdl-config --cflags)
  SDL_LDFLAGS := $(shell sdl-config --libs)
  EXTRACFLAGS += -DUSE_EXECINFO=1
endif

# check out buildengine in this directory:
#  cvs -z3 -d:pserver:anonymous@cvs.icculus.org:/cvs/cvsroot login
#   (password is "anonymous", without the quotes.)
#  cvs -z3 -d:pserver:anonymous@cvs.icculus.org:/cvs/cvsroot co buildengine
#  cd buildengine
#  make
#  cd ..
#  This sucks. We'll figure out something better.
BUILDOBJS := \
    buildengine/cache1d.o \
    buildengine/engine.o \
    buildengine/sdl_driver.o \
    buildengine/mmulti.o \
    buildengine/pragmas.o \
    buildengine/unix_compat.o

ifeq ($(strip $(use_asm)),true)
    BUILDOBJS += buildengine/a_gnu.o buildengine/a_nasm.o
else
    BUILDOBJS += buildengine/a.o
endif

CC = sh-elf-gcc -ml -m4-single-only
CFLAGS += -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -W -Wall -Wno-unused $(EXTRACFLAGS) -O2 -funsigned-char -fomit-frame-pointer -DBYTE_ORDER=LITTLE_ENDIAN

# Uncomment this to compile with the Intel compiler (v6.0)
#CC = icc
#CFLAGS = -g $(SDL_CFLAGS) -DUSE_SDL=1 -DPLATFORM_UNIX=1 -DUSE_I386_ASM=1 $(EXTRACFLAGS) -O2

LDLIBS = $(SDL_LDFLAGS) -lSDL_mixer -lSDL $(EXTRALDFLAGS) -Wl,-E

all: duke3d

audiolib/audiolib.a:
    $(MAKE) -C audiolib CC="$(CC)" CFLAGS="$(CFLAGS)" LDLIBS="$(LDLIBS)"

OBJS=     \
    actors.o \
    animlib.o \
    control.o \
    config.o \
    game.o \
    gamedef.o \
    global.o \
    keyboard.o \
    menues.o \
    player.o \
    premap.o \
    rts.o \
    scriplib.o \
    sector.o \
    sounds.o \
    dukemusc.o \
    audiolib/audiolib.a \
    dc/unistd.o \
    dc/memcpy.o \
    dc/memset.o \
    dc/menu.o \
    dc/gzsave.o \
    dc/vmuheader.o \

#    dc/mm.o

duke3d: $(OBJS)
    $(CC)$(KOS_LDFLAGS) $(KOS_START) $^ $(BUILDOBJS) $(LDLIBS)  $(KOS_LIBS) -o $@

clean:
    $(MAKE) -C audiolib clean
    rm -rf duke3d *.o

distclean: clean
    $(MAKE) -C audiolib distclean
    rm -rf *~



Ответ: Сборка - SWAT - 04.07.2010 09:31

Во первых, у тебя путь до KOS какой? Блин убогий makefile, зачем здесь столько мусора...


Ответ: Сборка - Василий - 04.07.2010 18:12

Путь такой :
c:\cygwin\usr\local\dc\kos\kos
Цитата:Блин убогий makefile, зачем здесь столько мусора...
Что лишнее ? - уберём .


Ответ: Сборка - Rio - 06.07.2010 18:20

Где брать пэккейджи для этого ё..ного Cygwin?


Ответ: Сборка - alex - 06.07.2010 21:37

(06.07.2010 18:20)Rio писал(а):  Где брать пэккейджи для этого ё..ного Cygwin?

качай http://dchelp.dcemulation.org/downloads/DDEr4.rar
там все есть


Ответ: Сборка - Rio - 07.07.2010 02:01

Alex, спасибо. А где можно скачать Reference по Instruction set PoverVR2?


Ответ: Сборка - SWAT - 07.07.2010 20:38

(04.07.2010 18:12)Василий писал(а):  Путь такой :
c:\cygwin\usr\local\dc\kos\kos
Цитата:Блин убогий makefile, зачем здесь столько мусора...
Что лишнее ? - уберём .

Ну вот меняй:

KOS_BASE=/prog/dc/KOS-1.1.9

на

KOS_BASE=/usr/local/dc/kos/kos

И другие пути до SDL соответственно на те что у тебя (/usr/local/dc/kos/kos-ports).
Например:
SDL_INC_DIR = /usr/local/dc/kos/kos-ports/include/SDL

и т.д.

А вообще тут под старую kos 1.1.9 сделано все... Вполне вероятно что работать не будет на 1.3.х


Ответ: Сборка - Василий - 01.08.2010 21:19

Теперь такая ошибка ... Как исправить ?
Код:
$ cd duke3d/source/buildengine

********@********* /usr/local/dc/kos/kos/duke3d/source/buildengine
$ make -f makefile.dc
gcc -o build -g -L/usr/local/dc/kos/kos/addons/lib/dreamcast -lSDL build.o bstub
.o engine.o cache1d.o sdl_driver.o unix_compat.o a.o pragmas.o
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: skipping in
compatible /usr/local/dc/kos/kos/addons/lib/dreamcast/libSDL.a when searching fo
r -lSDL
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: skipping in
compatible /usr/local/dc/kos/kos/addons/lib/dreamcast/libSDL.a when searching fo
r -lSDL
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: skipping in
compatible /usr/local/dc/kos/kos/addons/lib/dreamcast/libSDL.a when searching fo
r -lSDL
/usr/lib/gcc/i686-pc-cygwin/3.4.4/../../../../i686-pc-cygwin/bin/ld: cannot find
-lSDL
collect2: ld returned 1 exit status
make: *** [build] Error 1



Ответ: Сборка - SWAT - 02.08.2010 08:00

У тебя нет скомпилированной библиотеки SDL.
Зайти в /usr/local/dc/kos/kos-ports/SDL и напиши make.


RE: Сборка - Василий - 24.06.2011 00:32

Из-за чего ошибка на скришоте ниже ?
[Изображение: eb37c5a7fa92.jpg]


RE: Сборка - SWAT - 24.06.2011 20:14

Нечего делать говорит, отсюда вывод Smile
Код приведи.


RE: Сборка - Василий - 13.11.2011 16:50

[Изображение: c4976aca572at.jpg]

В чём ошибка? Сам makefile ниже:
Код:
include ../Makefile.common

SOURCES = video.cpp input.cpp timer.cpp tileset.cpp texture.cpp debug_gl.cpp
OBJECTS = video.o input.o timer.o tileset.o texture.o debug_gl.o

TMX_LIBDIR=../libtmxpp

CXXFLAGS=$(KOS_CFLAGS) \
    -I$(KOS_BASE)/../kos-ports/SDL-1.2.9/include \
    -I$(KOS_BASE)/../kos-ports/SDL_image-1.2.4 \
    -I$(TMX_LIBDIR) -I../tinyxml -DUSE_TINYXML -DDREAMCAST $(COMMON_CXXFLAGS)

CXX=kos-c++
AR=kos-ar

depend-all:
    make -f Makefile.dc depend
    make -f Makefile.dc all

depend:
    $(CXX) $(CXXFLAGS) -M $(SOURCES) > .depend

all: $(OBJECTS)
    $(AR) rcs libtmepp.a $(OBJECTS)

clean:
    rm -f $(OBJECTS) libtmepp.a .depend

-include .depend



RE: Сборка - SWAT - 14.11.2011 17:23

У тебя компилятор не может найти хэдэры. В файлах video.h и texture.h пути к SDL.h и SDL_image.h не правильно написаны.


RE: Сборка - Василий - 03.12.2011 02:08

Цитата:Нечего делать говорит, отсюда вывод Smile
Код приведи.
Вот я беру исходники http://dchelp.dcemulation.org/downloads/Wolf4SDL-DC_16_source.7z
Казалось бы запустил make -f makefile.dc и жди бинарик.
Makefile: http://pastebin.com/jEqeLVCb
Что не так ?[/code]


RE: Сборка - SWAT - 03.12.2011 19:22

Это уже не относится к выше написанному? Тогда какие проблемы?


RE: Сборка - Василий - 05.12.2011 01:25

Цитата:Это уже не относится к выше написанному?
Это относится к сообщению номер 14.