$ make -f Makefile.linux
gcc -c -Wall -O -g special.c
special.c: In function spec_string:
special.c:1037: error: subscripted value is pointer to function
make: *** [special.o] Error 1
char *spec_string( SPEC_FUN *fun ) /* OLC */
{
int cmd;
for ( cmd = 0; spec_table[cmd].function[0] != '\0'; cmd++ ) //This is line 1037
if ( fun == spec_table[cmd].function )
return spec_table[cmd].name;
return 0;
}
gcc -O -g -o rom act_comm.o act_enter.o act_info.o act_move.o act_obj.o act_wiz.o
alias.o ban.o comm.o const.o db.o db2.o effects.o fight.o flags.o handler.o healer.o
interp.o note.o lookup.o magic.o magic2.o music.o recycle.o save.o scan.o skills.o
special.o tables.o update.o -lcrypt
comm.o: In function `game_loop_unix':
/path/to/Rom24/src/comm.c:787: undefined reference to `string_add'
/path/to/Rom24/src/comm.c:792: undefined reference to `run_olc_editor'
handler.o: In function `material_name':
/path/to/Rom24/src/handler.c:126: undefined reference to `material_type'
handler.o: In function `material_lookup':
/path/to/Rom24/src/handler.c:114: undefined reference to `material_type'
/path/to/Rom24/src/handler.c:114: undefined reference to `material_type'
interp.o:(.rodata+0x1678): undefined reference to `do_olc'
interp.o:(.rodata+0x1690): undefined reference to `do_aedit'
interp.o:(.rodata+0x16a8): undefined reference to `do_redit'
interp.o:(.rodata+0x16c0): undefined reference to `do_medit'
interp.o:(.rodata+0x16d8): undefined reference to `do_oedit'
interp.o:(.rodata+0x16f0): undefined reference to `do_asave'
interp.o:(.rodata+0x1708): undefined reference to `do_alist'
interp.o:(.rodata+0x1720): undefined reference to `do_resets'
collect2: ld returned 1 exit status
make: *** [rom] Error 1
for ( cmd = 0; spec_table[cmd].function != NULL; cmd++ )
if( command == "immtalk" )
spec_table[cmd].function != NULL
O_FILES = act_comm.o act_enter.o act_info.o act_move.o act_obj.o act_wiz.o \
alias.o ban.o comm.o const.o db.o db2.o effects.o fight.o flags.o \
handler.o healer.o interp.o lookup.o magic.o magic2.o music.o note.o \
olc.o recycle.o save.o scan.o skills.o special.o string.o tables.o \
update.o
olc.o:(.rodata+0x208): undefined reference to `aedit_age'
olc.o:(.rodata+0x218): undefined reference to `aedit_builder'
olc.o:(.rodata+0x238): undefined reference to `aedit_create'
olc.o:(.rodata+0x248): undefined reference to `aedit_file'
olc.o:(.rodata+0x258): undefined reference to `aedit_name'
olc.o:(.rodata+0x268): undefined reference to `aedit_reset'
…etc
Yes, you have to move some things in the tables.h file but that's explained I believe in the very first post of this thread.