[程式] How to Make an RPG (3)

作者: enthos (影斯作業系統)   2020-01-13 00:49:10
2020-01-05 10:30=>15:30 花了5個小時造出了64bit執行檔,
至少可以看到第一個畫面,然後:
gdb: unknown target exception 0xe24c4a03 at 0x7ffd5e21a388
Program received signal ?, Unknown signal.
(gdb) bt
#0 0x00007ffd5e21a388 in RaiseException ()
from C:\WINDOWS\System32\KernelBase.dll
#1 0x00000000041803b8 in ?? ()
#2 0x0000000004180378 in ?? ()
#3 0x00000000005be350 in lj_lib_load ()
https://github.com/dinodeck/dinodeck
O:\rpg\dinodeck\src>make PLATFORM_DD=WINDOWS
自建的 OpenAL 壞了,用系統的:
C:\msys64\mingw64\bin>copy libopenal-1.dll o:\rpg\
#0 0x00000000000960ee in ?? ()
#1 0x0000000000fd21cf in alc_initconfig () at
O:\rpg\dinodeck\lib\openal-soft\Alc\ALc.c:883
#2 0x0000000000fe00e2 in alcall_once ([email protected]=0x1041100
<alc_config_once>,
[email protected]=0xfd21b0 <alc_initconfig>) at
O:\rpg\dinodeck\lib\openal-soft\common\threads.c:479
#3 0x0000000000fd3c02 in alcOpenDevice (deviceName=0x0) at
O:\rpg\dinodeck\lib\openal-soft\Alc\ALc.c:3312
#4 0x00000000004456d6 in DDAudio::DDAudio() ()
#5 0x0000000001590000 in ?? ()
#6 0x0000000000000001 in ?? ()
#7 0x000000000057edc6 in operator new(unsigned long long) ()
#8 0x0000000000000068 in ?? ()
#9 0x0000000001596218 in ?? ()
#10 0x0000000001596620 in ?? ()
#11 0x0000000001596e10 in ?? ()
#12 0x000000000097fc60 in ?? ()
#13 0x000000000044ab7c in Dinodeck::Dinodeck(std::string const&) ()
LDFLAGS+=../lib/openal-soft/build/libOpenAL32.a
LDFLAGS+=../lib/openal-soft/build/libaltonegen.dll.a
LDFLAGS+=../lib/openal-soft/build/libcommon.a
LDFLAGS+=../lib/openal-soft/build/libopenal-info.dll.a
LDFLAGS+=../lib/openal-soft/build/libtest-common.a
LIB 要在執行檔的目錄:
O:\rpg\dinodeck\lib\freetype\objs\.libs
01/05/2020 08:15 AM 3,022,633 libfreetype-6.dll
O:\rpg\dinodeck\lib\ftgl\src>copy ftgl.dll o:\rpg\
O:\rpg\dinodeck\lib\openal-soft\build>copy altonegen.exe o:\rpg\
系統的 SDL 不能用,其他函式庫也有相同的情形:
c:/mingw/bin/../lib/gcc/x86_64-w64-mingw32/4.8.2/../../../../
x86_64-w64-mingw32/lib/../lib/libmingw32.a(lib64_libmingw32_a-crt0_c.o):
crt0_c.c:(.text.startup+0x25): undefined reference to `WinMain'
../lib/sdl-1.2.15/build/.libs/libSDL.a(SDL_video.o):
In function `SDL_SetVideoMode':
O:\rpg\dinodeck\lib\sdl-1.2.15/./src/video/SDL_video.c:594:
undefined reference to `sysevents_mouse_pressed'
libluajit-5.1.a(ljamalg.o):(.text+0x479d): undefined reference
to `__imp___acrt_iob_func'
libluajit-5.1.a(ljamalg.o):(.text+0x33382): undefined reference
to `__imp___p__fmode'
libluajit-5.1.a(ljamalg.o):(.text+0x3e596): undefined reference
to `__imp___acrt_iob_func'
libluajit-5.1.a(ljamalg.o):(.text+0x3eb78): undefined reference
to `__imp__difftime64'
用作者 github 的 SDL, configure.ac/configure 要改才支持 mingw64
https://github.com/dinodeck/sdl-1.2.15.git
O:\rpg\dinodeck\lib\sdl-1.2.15>
sh configure

Links booklink

Contact Us: admin [ a t ] ucptt.com