pingus-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Collider and Mover code


From: Gervase Lam
Subject: Re: Collider and Mover code
Date: Tue, 28 Jan 2003 22:13:22 +0000

> Date: Tue, 28 Jan 2003 17:39:17 +0100
> From: David Philippi <address@hidden>
> Subject: Re: Collider and Mover code

> Those errors seem a little bit strange but unless I add the files to my
> l= ocal=20
> tree I can't say for sure. One guess - are you sure that every pure
> virtu= al=20
> method has been redefined?

The base class has only two virtual methods.  The base class's destructor 
and operator(), which is redefined in UprightPinguCollider.

I think I've narrowed it down a bit.  What I did was to declare a dummy 
UprightPinguCollider object in "bomber.cxx".  This is what I got:

|| make[1]: Entering directory `/home/gervase/pingus/cvs/Games/Pingus/src'
|| source='collider.cxx' object='collider.o' libtool=no \
|| depfile='.deps/collider.Po' tmpdepfile='.deps/collider.TPo' \
|| depmode=gcc3 /bin/sh ../depcomp \
|| c++ -DHAVE_CONFIG_H -I. -I. -I..   -I/usr/include/libxml2/libxml 
-I/usr/include/libxml2  -g -O2 -c -o collider.o `test -f collider.cxx || 
echo './'`collider.cxx
|| c++  -g -O2   -o pingus  action_button.o action_data.o action_holder.o 
algo.o alpha_button.o blitter.o button_panel.o capture_rectangle.o cheat.o 
client.o col_map.o config.o config_xml.o console.o counter.o credits.o 
cursor.o debug.o debug_stream.o demo_player.o demo_recorder.o 
demo_session.o direction.o display.o display_graphic_context.o exit_menu.o 
fade_out.o fonts.o fps_counter.o game_counter.o game_session.o 
game_session_result.o game_time.o global_event.o globals.o goal_manager.o 
groundtype.o gui_obj.o gui_screen.o html_browser.o hurry_up.o 
input_debug_screen.o indexed_canvas.o intro.o layer_manager.o level_desc.o 
level_interrupt.o level_result.o loading.o main_menu.o menu_background.o 
multiline_text.o option_menu.o path_manager.o pingu.o pingu_action.o 
pingu_action_factory.o collider.o pingu_enums.o pingu_holder.o 
pingu_info.o pingu_map.o pingus_counter.o pingus_counter_bar.o 
pingus_error.o pingus_main.o pingus_map_manager.o pingus_menu.o 
pingus_menu_manager.o pingus_resource.o pingus_sub_menu.o pla
|| ield.o playfield_view.o plf.o plt_xml.o prefab.o range.o 
res_descriptor.o resource_modifier.o result.o screenshot.o 
screen_manager.o screen_ptr.o server.o server_event.o smallmap.o 
smallmap_image.o sound.o sound_dummy.o sound_real.o specs_reader.o 
spot_map.o sprite.o string_converter.o surface_button.o system.o 
target_provider.o theme.o theme_selector.o time_display.o timer.o 
true_server.o vector.o view.o wav_provider.o world.o worldobj.o 
worldobj_data.o worldobj_data_factory.o xml_helper.o xml_plf.o xml_pdf.o 
-lclanGUI -lclanPNG -lclanJPEG -lclanMikMod -lclanSound -lclanDisplay 
-lclanApp -lclanCore -lHermes -lpthread  -L/usr/lib -lxml2 -lz -lm 
caimagemanipulation/libcaimagemanipulation.a 
colliders/libpingus_colliders.a editorobjs/libpingus_editorobjs.a 
worldobjs/entrances/libpingus_worldobjs_entrances.a 
worldobjsdata/libpingus_worldobjsdata.a worldobjs/libpingus_worldobjs.a 
worldobjsdata/libpingus_worldobjsdata.a 
worldobjs/entrances/libpingus_worldobjs_entrances.a 
editorobjs/libpingus_editorobjs.a actions
|| ibpingu_actions.a particles/libpingus_particle.a 
editor/libpingus_editor.a worldmap/libpingus_worldmap.a 
gui/libpingus_gui.a input/libpingus_input.a 
input/axes/libpingus_input_axes.a input/buttons/libpingus_input_buttons.a 
input/pointers/libpingus_input_pointers.a 
input/scrollers/libpingus_input_scrollers.a -lclanGUI -lclanPNG -lclanJPEG 
-lclanMikMod -lclanSound -lclanDisplay -lclanApp -lclanCore -lHermes 
-lpthread  -L/usr/lib -lxml2 -lz -lm
|| actions/libpingu_actions.a(bomber.o): In function 
`Actions::Bomber::update()':
actions/bomber.cxx|92| undefined reference to 
`UprightPinguCollider::UprightPinguCollider(bool)'
actions/bomber.cxx|98| undefined reference to 
`UprightPinguCollider::UprightPinguCollider(bool)'
actions/bomber.cxx|117| undefined reference to 
`UprightPinguCollider::~UprightPinguCollider()'
actions/bomber.cxx|150| undefined reference to 
`UprightPinguCollider::~UprightPinguCollider()'
actions/bomber.cxx|109| undefined reference to 
`UprightPinguCollider::~UprightPinguCollider()'
actions/bomber.cxx|100| undefined reference to 
`UprightPinguCollider::UprightPinguCollider(bool)'

I don't know whether I accidentally missed out the line that makes 
"collider.o" in the last post.  Anyway:

line 92 is where I added the dummy object
lines 98 and 100 are where temporary objects are created
line 117 and 109 are returns
line 150 is the end of the definition of update()

So it seems as if bomber.o "can't see" UprightPinguCollider.

Any further ideas for what to investigate next would be appreciated.

Thanks,
Gervase.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]