Edited by Raziel on 2021/1/17 14:22:01 Edited by Raziel on 2021/1/17 15:16:40
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
and still the undefined reference error from above.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
Should it work by renaming Seek() to lseek()? Then I could maybe alert the devs about the obsolete status.
And is Seek() also obsolete in AmigaOS3?
I'll try the obsolete include too, thank you.
edit: The include worked, thanks a lot
..is it normal to get thrown back to such noob errors/questions all the time? Is the SDK development moving faster than trying to catch up to and grab that moving train...or is it just me?
...probably just me...
Edited by Raziel on 2021/3/25 18:36:11
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
No Seek() works on AmigaDOS filehandles (BPTR) and lseek() works on c library file descriptors, these are not interchangable.
lseek() and Seek() also are not drop in replacements.function wise.
Quote:
And is Seek() also obsolete in AmigaOS3?
No, it's obsolete in AmigaOS4 (and has been for a long time) because it doesn't support greater than signed int32 bit file sizes (up to 2Gb) ChangeFilePosition() supports int64
Quote:
..is it normal to get thrown back to such noob errors/questions all the time? Is the SDK development moving faster than trying to catch up to and grab that moving train...or is it just me?
You have probably been ignoring or overrideing the deprectated function warnings and thus got caught out when the function name was changed to force devs to update their code.
Also there hasn't been SDK releases for ages so you got hit with a llot in one go,.when the dos sdk was updated in FE Update 2
Seems like doing ports from time to time isn't enough to keep at pace... I'll probably keep dropping noob bombs in the future then.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
gcc -lpthread -athread=native -o game main.o sys_sdl2.o util.o bb/decode.o bb/fileio.o bb/game.o bb/level.o bb/objects.o bb/resource.o bb/screen.o bb/sound.o bb/staticres.o bb/tiles.o bb/unpack.o `sdl2-config --static-libs` -lSDL2_mixer -lflac -lvorbisfile -lvorbis -logg -lmikmod -lsmpeg2 -lmodplug -lSDL2
/SDK/local/newlib/lib/libmodplug.a(modplug.o): In function `ModPlug_Unload':
modplug.cpp:(.text+0x7dc): undefined reference to `operator delete(void*)'
/SDK/local/newlib/lib/libmodplug.a(modplug.o): In function `ModPlug_Load':
modplug.cpp:(.text+0xaf4): undefined reference to `operator new(unsigned int)'
modplug.cpp:(.text+0xb84): undefined reference to `operator delete(void*)'
/SDK/local/newlib/lib/libmodplug.a(sndfile.o): In function `CSoundFile::AllocatePattern(unsigned int, unsigned int)':
sndfile.cpp:(.text+0x2f58): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(sndfile.o): In function `CSoundFile::SetPatternName(unsigned int, char const*)':
sndfile.cpp:(.text+0x30dc): undefined reference to `operator new[](unsigned int)'
sndfile.cpp:(.text+0x3174): undefined reference to `operator delete[](void*)'
/SDK/local/newlib/lib/libmodplug.a(sndfile.o): In function `CSoundFile::FreePattern(void*)':
sndfile.cpp:(.text+0x3234): undefined reference to `operator delete[](void*)'
/SDK/local/newlib/lib/libmodplug.a(sndfile.o): In function `CSoundFile::Destroy()':
sndfile.cpp:(.text+0x5500): undefined reference to `operator delete[](void*)'
sndfile.cpp:(.text+0x554c): undefined reference to `operator delete[](void*)'
sndfile.cpp:(.text+0x561c): undefined reference to `operator delete(void*)'
sndfile.cpp:(.text+0x5710): undefined reference to `operator delete[](void*)'
/SDK/local/newlib/lib/libmodplug.a(load_xm.o): In function `CSoundFile::ReadXM(unsigned char const*, unsigned int)':
load_xm.cpp:(.text+0x1330): undefined reference to `operator new(unsigned int)'
load_xm.cpp:(.text+0x2c04): undefined reference to `operator new[](unsigned int)'
load_xm.cpp:(.text+0x2e88): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_ult.o): In function `CSoundFile::ReadUlt(unsigned char const*, unsigned int)':
load_ult.cpp:(.text+0x164): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_mtm.o): In function `CSoundFile::ReadMTM(unsigned char const*, unsigned int)':
load_mtm.cpp:(.text+0xb20): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_med.o): In function `CSoundFile::ReadMed(unsigned char const*, unsigned int)':
load_med.cpp:(.text+0x10cc): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_mdl.o): In function `CSoundFile::ReadMDL(unsigned char const*, unsigned int)':
load_mdl.cpp:(.text+0x1118): undefined reference to `operator delete[](void*)'
load_mdl.cpp:(.text+0x1124): undefined reference to `operator new[](unsigned int)'
load_mdl.cpp:(.text+0x1430): undefined reference to `operator new(unsigned int)'
load_mdl.cpp:(.text+0x18a0): undefined reference to `operator new(unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_it.o): In function `CSoundFile::LoadMixPlugins(void const*, unsigned int)':
load_it.cpp:(.text+0x1058): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_it.o): In function `CSoundFile::ReadIT(unsigned char const*, unsigned int)':
load_it.cpp:(.text+0x2dec): undefined reference to `operator new[](unsigned int)'
load_it.cpp:(.text+0x3434): undefined reference to `operator new[](unsigned int)'
load_it.cpp:(.text+0x3bb4): undefined reference to `operator new(unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_far.o): In function `CSoundFile::ReadFAR(unsigned char const*, unsigned int)':
load_far.cpp:(.text+0x34c): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_dmf.o): In function `CSoundFile::ReadDMF(unsigned char const*, unsigned int)':
load_dmf.cpp:(.text+0x77c): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_dbm.o): In function `CSoundFile::ReadDBM(unsigned char const*, unsigned int)':
load_dbm.cpp:(.text+0x58c): undefined reference to `operator new(unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_ams.o): In function `AMSUnpack(char const*, unsigned int, char*, unsigned int, char)':
load_ams.cpp:(.text+0x3c): undefined reference to `operator new[](unsigned int)'
load_ams.cpp:(.text+0x3f4): undefined reference to `operator delete[](void*)'
/SDK/local/newlib/lib/libmodplug.a(load_ams.o): In function `CSoundFile::ReadAMS2(unsigned char const*, unsigned int)':
load_ams.cpp:(.text+0x78c): undefined reference to `operator new(unsigned int)'
load_ams.cpp:(.text+0xee8): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_ams.o): In function `CSoundFile::ReadAMS(unsigned char const*, unsigned int)':
load_ams.cpp:(.text+0x1ddc): undefined reference to `operator new[](unsigned int)'
load_ams.cpp:(.text+0x1fa0): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_amf.o): In function `CSoundFile::ReadAMF(unsigned char const*, unsigned int)':
load_amf.cpp:(.text+0x1910): undefined reference to `operator new[](unsigned int)'
load_amf.cpp:(.text+0x1c98): undefined reference to `operator delete[](void*)'
/SDK/local/newlib/lib/libmodplug.a(load_669.o): In function `CSoundFile::Read669(unsigned char const*, unsigned int)':
load_669.cpp:(.text+0x610): undefined reference to `operator new[](unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_mt2.o): In function `CSoundFile::ReadMT2(unsigned char const*, unsigned int)':
load_mt2.cpp:(.text+0x718): undefined reference to `operator new[](unsigned int)'
load_mt2.cpp:(.text+0xfe0): undefined reference to `operator new(unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_pat.o): In function `CSoundFile::ReadPAT(unsigned char const*, unsigned int)':
load_pat.cpp:(.text+0x2518): undefined reference to `operator new(unsigned int)'
load_pat.cpp:(.text+0x2938): undefined reference to `operator new(unsigned int)'
/SDK/local/newlib/lib/libmodplug.a(load_pat.o): In function `PAT_Load_Instruments':
load_pat.cpp:(.text+0x3d64): undefined reference to `operator new(unsigned int)'
load_pat.cpp:(.text+0x3ed8): undefined reference to `operator new(unsigned int)'
gmake: *** [game] Error 1
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
When i change to g++ i get a lot of other undeclared stuff like string_upper, priint_error, animframe etc.
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
@Raziel -lstdc++ , it just name libstdc++.a , so Andy a bit messed it up. All link libs have "lib" at the beginning, but when you link against them, you skip "lib" part. I.e. if it named libomiga1200.a, then you do -lomiga1200. Or if you want to link with a full name, you then provide a full path to.
I'm still getting lots and lots of undefined references to sting_upper, print_warning, print_error
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
It's probably something completely silly. You need to change a variable called "amiga" to something else "_amiga" I.e. or you'll hit a compiler error pretty early. Seems like our compiler changes "amiga" to "1" fir whatever reason.
I'll let it rest now, it's only so much fun...
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/decode.o bb/decode.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/fileio.o bb/fileio.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/game.o bb/game.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/level.o bb/level.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/objects.o bb/objects.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/resource.o bb/resource.c
bb/resource.c: In function 'void load_iff(const uint8_t*, uint32_t, uint8_t*, int, int)':
bb/resource.c:135:17: warning: comparison of integer expressions of different signedness: 'int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
135 | while (offset < size) {
| ~~~~~~~^~~~~~
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/screen.o bb/screen.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/sound.o bb/sound.c
bb/sound.c: In function 'void mix(void*, uint8_t*, int)':
bb/sound.c:65:12: warning: comparison of integer expressions of different signedness: 'const int' and 'uint32_t' {aka 'unsigned int'} [-Wsign-compare]
65 | if (pos >= _channel.size) {
| ~~~~^~~~~~~~~~~~~~~~
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/staticres.o bb/staticres.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/tiles.o bb/tiles.c
g++ -Wall -Wpedantic -MMD `sdl2-config --cflags` -I. -g -c -o bb/unpack.o bb/unpack.c
g++ -lpthread -athread=native -o blues main.o sys_sdl2.o util.o bb/decode.o bb/fileio.o bb/game.o bb/level.o bb/objects.o bb/resource.o bb/screen.o bb/sound.o bb/staticres.o bb/tiles.o bb/unpack.o `sdl2-config --static-libs` -lSDL2_mixer -lflac -lvorbisfile -lvorbis -logg -lmikmod -lsmpeg2 -lmodplug -lSDL2 -lstdc++
bb/fileio.o: In function `fio_open_no_case':
/Development/Porting/bb/bb/fileio.c:41: undefined reference to `string_upper(char*)'
bb/fileio.o: In function `fio_open(char const*, int)':
/Development/Porting/bb/bb/fileio.c:50: undefined reference to `print_error(char const*, ...)'
/Development/Porting/bb/bb/fileio.c:57: undefined reference to `print_error(char const*, ...)'
/Development/Porting/bb/bb/fileio.c:59: undefined reference to `print_warning(char const*, ...)'
bb/game.o: In function `do_select_player':
/Development/Porting/bb/bb/game.c:85: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:85: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:86: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:86: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:91: undefined reference to `animframe_01d5'
/Development/Porting/bb/bb/game.c:91: undefined reference to `animframe_01d5'
/Development/Porting/bb/bb/game.c:92: undefined reference to `animframe_01d5'
/Development/Porting/bb/bb/game.c:92: undefined reference to `animframe_01d5'
/Development/Porting/bb/bb/game.c:124: undefined reference to `animframe_00dd'
/Development/Porting/bb/bb/game.c:124: undefined reference to `animframe_00dd'
/Development/Porting/bb/bb/game.c:125: undefined reference to `animframe_00dd'
/Development/Porting/bb/bb/game.c:125: undefined reference to `animframe_00dd'
/Development/Porting/bb/bb/game.c:130: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:130: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:131: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:131: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:163: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:163: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:164: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:164: undefined reference to `animframe_0135'
/Development/Porting/bb/bb/game.c:169: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:169: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:170: undefined reference to `animframe_022d'
/Development/Porting/bb/bb/game.c:170: undefined reference to `animframe_022d'
bb/game.o: In function `game_main()':
/Development/Porting/bb/bb/game.c:292: undefined reference to `icon6e92'
/Development/Porting/bb/bb/game.c:292: undefined reference to `icon6e92'
/Development/Porting/bb/bb/game.c:293: undefined reference to `icon6e92'
/Development/Porting/bb/bb/game.c:293: undefined reference to `icon6e92'
/Development/Porting/bb/bb/game.c:295: undefined reference to `icon72de'
/Development/Porting/bb/bb/game.c:295: undefined reference to `icon72de'
/Development/Porting/bb/bb/game.c:297: undefined reference to `icon73a6'
/Development/Porting/bb/bb/game.c:297: undefined reference to `icon73a6'
/Development/Porting/bb/bb/game.c:299: undefined reference to `icon6ef6'
/Development/Porting/bb/bb/game.c:299: undefined reference to `icon6ef6'
/Development/Porting/bb/bb/game.c:301: undefined reference to `icon740a'
/Development/Porting/bb/bb/game.c:301: undefined reference to `icon740a'
/Development/Porting/bb/bb/game.c:303: undefined reference to `icon746e'
/Development/Porting/bb/bb/game.c:303: undefined reference to `icon746e'
/Development/Porting/bb/bb/game.c:305: undefined reference to `icon74d2'
/Development/Porting/bb/bb/game.c:305: undefined reference to `icon74d2'
/Development/Porting/bb/bb/game.c:307: undefined reference to `icon7536'
/Development/Porting/bb/bb/game.c:307: undefined reference to `icon7536'
/Development/Porting/bb/bb/game.c:309: undefined reference to `icon759a'
/Development/Porting/bb/bb/game.c:309: undefined reference to `icon759a'
/Development/Porting/bb/bb/game.c:311: undefined reference to `icon75fe'
/Development/Porting/bb/bb/game.c:311: undefined reference to `icon75fe'
/Development/Porting/bb/bb/game.c:313: undefined reference to `icon7662'
/Development/Porting/bb/bb/game.c:313: undefined reference to `icon7662'
/Development/Porting/bb/bb/game.c:315: undefined reference to `icon76c6'
/Development/Porting/bb/bb/game.c:315: undefined reference to `icon76c6'
/Development/Porting/bb/bb/game.c:317: undefined reference to `icon772a'
/Development/Porting/bb/bb/game.c:317: undefined reference to `icon772a'
/Development/Porting/bb/bb/game.c:319: undefined reference to `icon778e'
/Development/Porting/bb/bb/game.c:319: undefined reference to `icon778e'
bb/level.o: In function `load_level_data(int)':
/Development/Porting/bb/bb/level.c:65: undefined reference to `print_debug(int, char const*, ...)'
bb/level.o: In function `init_level':
/Development/Porting/bb/bb/level.c:182: undefined reference to `print_debug(int, char const*, ...)'
/Development/Porting/bb/bb/level.c:204: undefined reference to `level_objtypes'
/Development/Porting/bb/bb/level.c:204: undefined reference to `level_objtypes'
/Development/Porting/bb/bb/level.c:265: undefined reference to `level_door'
/Development/Porting/bb/bb/level.c:265: undefined reference to `level_door'
bb/level.o: In function `do_level_add_sprite1':
/Development/Porting/bb/bb/level.c:697: undefined reference to `print_debug(int, char const*, ...)'
/Development/Porting/bb/bb/level.c:720: undefined reference to `print_warning(char const*, ...)'
bb/level.o: In function `do_level_add_sprite2':
/Development/Porting/bb/bb/level.c:741: undefined reference to `print_debug(int, char const*, ...)'
bb/level.o: In function `do_level_add_sprite3':
/Development/Porting/bb/bb/level.c:776: undefined reference to `print_debug(int, char const*, ...)'
bb/level.o: In function `do_level_update_grabbed_object':
/Development/Porting/bb/bb/level.c:977: undefined reference to `print_warning(char const*, ...)'
bb/level.o: In function `do_level_handle_object_collision':
/Development/Porting/bb/bb/level.c:1615: undefined reference to `level_obj_type'
/Development/Porting/bb/bb/level.c:1615: undefined reference to `level_obj_type'
bb/level.o: In function `do_level_update_objects':
/Development/Porting/bb/bb/level.c:1865: undefined reference to `print_debug(int, char const*, ...)'
bb/level.o: In function `draw_foreground_tiles':
/Development/Porting/bb/bb/level.c:2076: undefined reference to `render_add_sprite(int, int, int, int, int)'
bb/level.o: In function `do_level()':
/Development/Porting/bb/bb/level.c:2088: undefined reference to `level_dim'
/Development/Porting/bb/bb/level.c:2088: undefined reference to `level_dim'
/Development/Porting/bb/bb/level.c:2089: undefined reference to `level_dim'
/Development/Porting/bb/bb/level.c:2089: undefined reference to `level_dim'
/Development/Porting/bb/bb/level.c:2108: undefined reference to `render_set_sprites_clipping_rect(int, int, int, int)'
/Development/Porting/bb/bb/level.c:2159: undefined reference to `render_set_sprites_clipping_rect(int, int, int, int)'
bb/level.o:(.rodata+0x348): undefined reference to `level_xpos_magasin'
bb/level.o:(.rodata+0x34c): undefined reference to `level_ypos_magasin'
bb/level.o:(.rodata+0x36c): undefined reference to `level_xpos_ent'
bb/level.o:(.rodata+0x370): undefined reference to `level_ypos_ent'
bb/level.o:(.rodata+0x390): undefined reference to `level_xpos_prison'
bb/level.o:(.rodata+0x394): undefined reference to `level_ypos_prison'
bb/level.o:(.rodata+0x3b4): undefined reference to `level_xpos_egou'
bb/level.o:(.rodata+0x3b8): undefined reference to `level_ypos_egou'
bb/level.o:(.rodata+0x3d8): undefined reference to `level_xpos_ville'
bb/level.o:(.rodata+0x3dc): undefined reference to `level_ypos_ville'
bb/level.o:(.rodata+0x3fc): undefined reference to `level_xpos_concert'
bb/level.o:(.rodata+0x400): undefined reference to `level_ypos_concert'
bb/objects.o: In function `object_func_op14_helper':
/Development/Porting/bb/bb/objects.c:300: undefined reference to `print_warning(char const*, ...)'
bb/objects.o: In function `object_func_op14':
/Development/Porting/bb/bb/objects.c:305: undefined reference to `level_ypos_egou'
/Development/Porting/bb/bb/objects.c:305: undefined reference to `level_ypos_egou'
/Development/Porting/bb/bb/objects.c:325: undefined reference to `level_ypos_egou'
/Development/Porting/bb/bb/objects.c:325: undefined reference to `level_ypos_egou'
bb/resource.o: In function `res_init(char const*, int)':
/Development/Porting/bb/bb/resource.c:15: undefined reference to `print_er
People are dying. Entire ecosystems are collapsing. We are in the beginning of a mass extinction. And all you can talk about is money and fairytales of eternal economic growth. How dare you! – Greta Thunberg