4.5.7 The Library

Next: 4.5.8 Known Bugs Up: 4.5 The PIC14 port Previous: 4.5.6 Environment Variables Contents Index
Subsections

- 4.5.7.1 error: missing definition for symbol ``__gptrget1''
- 4.5.7.2 Processor mismatch in file ``XXX''.

## 4.5.7 The Library

The PIC14 library currently only contains support routines required by the compiler to implement multiplication, division, and floating point support. No libc-like replacement is available at the moment, though many of the common sdcc library sources (in `device/lib`) should also compile with the PIC14 port.

### 4.5.7.1 error: missing definition for symbol ``__gptrget1''

The PIC14 port uses library routines to provide more complex operations like multiplication, division/modulus and (generic) pointer dereferencing. In order to add these routines to your project, you must link with PIC14's `libsdcc.lib`. For single source file projects this is done automatically, more complex projects must add `libsdcc.lib` to the linker's arguments. Make sure you also add an include path for the library (using the -I switch to the linker)!

### 4.5.7.2 Processor mismatch in file ``XXX''.

This warning can usually be ignored due to the very good compatibility amongst 14bit PIC devices.

You might also consider recompiling the library for your specific device by changing the ARCH=p16f877 (default target) entry in `device/lib/pic/Makefile.in` and `device/lib/pic/Makefile` to reflect your device. This might even improve performance for smaller devices as unnecessary BANKSELs might be removed.

Next: 4.5.8 Known Bugs Up: 4.5 The PIC14 port Previous: 4.5.6 Environment Variables Contents Index