New user problems with OSLib
Mark Beerling
beerling at freenet.de
Wed Dec 31 10:57:02 GMT 2008
Hallo Everyone
this Christmas holiday I wanted to do something useful so I decided to
convert one of my programs from Acorns/Castles C/C++ compiler to the
GCC compiler and to use OSLib.
I downloaded OSLib V6.9 with OSLibSupport and the !Dustbin program as
an example. I'm currently using GCC Version 3.4.4 Release 3 under ROS
4.39.
I've managed to change the source of my program so that the program
compiles with OSLib & GCC.
Problem #1
==========
In order to get the program to compile I had to change the header file
'Systypes' in OSLibSupport.h as follows:
Line 81:
commented out
// typedef os_error _kernel_oserror; // from kernel.h
Line 98:
changed
#include "toolboxtypes.H"
to
#include "toolboxtypes.h"
Problem #2
==========
With my program and the !Dustbin example (using Acorn C) the following
link error was produced:
!RunImage does not yet exist
Link -aif -c++ -o !RunImage @.o.main @.o.MainWnd @.o.DB C:o.Stubs
OSLibSupport:o.OSLibSupport32 OSLib:o.OSLib32
ARM Linker: (Error) Undefined symbol(s).
ARM Linker: event_register_toolbox_handler, referred to from
@.o.main.
ARM Linker: event_register_message_handler, referred to from
@.o.main.
ARM Linker: event_initialise, referred to from @.o.main.
ARM Linker: event_set_mask, referred to from @.o.main.
ARM Linker: event_poll, referred to from @.o.main.
ARM Linker: event_deregister_message_handler, referred to from
@.o.MainWnd.
ARM Linker: event_register_wimp_handler, referred to from
@.o.MainWnd.
ARM Linker: ___arm_alloca_longjmp, referred to from
OSLibSupport:o.OSLibSupport32(o32).
ARM Linker: Err_MakeError, referred to from
OSLibSupport:o.OSLibSupport32(o32).
ARM Linker: Errors in link, no output generated.
ARM Linker: finished, 10 informational, 0 warning and 1 error
messages.
AMU: *** exit (1) ***
AMU: *** 'all' not re-made because of errors ***
I examined the contents of the library OSLibSupport (using LibFile -s)
and found that the event_* functions required are not in the library.
They are not in Version 6.80 but are in version 6.70 (APCS-R (26-bit))
which is obsolete. I'm now a bit confused.
The version 6.90 has the required events_* headers, but the functions
are not in the library. Also the library comes in two flavours:
OSLibSupport and OSLibSupport32. Is not the library without the '32'
extension the version for APCS-R? Why are the event_* functions not in
the library.
Hopefully someone can help me!
Regards and a happy new year
--
Mark Beerling
More information about the oslib-user
mailing list