Hi,
Yes, you must provide Circle_Mgr.exe with either a .o or a .lib file.
In a future release we will rework the way this is done, because for now it can be quite tricky, especially when the application uses things like malloc or sprintf, which is your case.
In the meantime the best thing to do for you is to include the sources of the small printf library, and also the syscalls.c file from the IO_putchar library, directly in your library. You can find all these sources in your <Ride>\lib\ARM directory and its subdirectories.
Be careful that the files in your lib that are called by other files in your lib should be placed after them, as the gcc linker is a one-pass linker, and the calling functions must be analyzed before the called functions. Basically, place the file containing sprintf after your own files, and place the syscalls.c file last.
I hope it helps.
Best Regards,
Vincent