next up previous contents index
Next: 3.1.4 Projects with Additional Up: 3.1 Compiling Previous: 3.1.2 Postprocessing the Intel   Contents   Index

3.1.3 Projects with Multiple Source Files

SDCC can compile only ONE file at a time. Let us for example assume that you have a project containing the following files:

foo1.c (contains some functions)
foo2.c (contains some more functions)
foomain.c (contains more functions and the function main)

The first two files will need to be compiled separately with the commands:

sdcc -c foo1.c
sdcc -c foo2.c

Then compile the source file containing the main() function and link the files together with the following command:

sdcc foomain.c foo1.rel foo2.rel

Alternatively, foomain.c can be separately compiled as well:

sdcc -c foomain.c
sdcc foomain.rel foo1.rel foo2.rel

The file containing the main() function MUST be the FIRST file specified in the command line, since the linkage editor processes file in the order they are presented to it. The linker is invoked from SDCC using a script file with extension .lnk. You can view this file to troubleshoot linking problems such as those arising from missing libraries.


next up previous contents index
Next: 3.1.4 Projects with Additional Up: 3.1 Compiling Previous: 3.1.2 Postprocessing the Intel   Contents   Index
2008-12-05