multiple definition errors while building PIC24 based project
Posted by
themadmstrmnd on February 11, 2016
I am getting multiple definition errors while building a project for a PIC24 platform. The functions the compiler is erroring on is found in list.c. I can’t think why this is happening. list.h is of course protected from the ifndef LIST_H. The FreeRTOS files have not been modified.
I am using version 8.2.3
rtos/list.c:80: multiple definition of _vListInitialise'
build/default/production/rtos/list.o(.text+0x0):rtos/list.c:80: first defined here
build/default/production/rtos/list.o(.text+0x36): In function
vListInitialiseItem’:
rtos/list.c:105: multiple definition of _vListInitialiseItem'
build/default/production/rtos/list.o(.text+0x36):rtos/list.c:105: first defined here
build/default/production/rtos/list.o(.text+0x44): In function
vListInsertEnd’:
rtos/list.c:117: multiple definition of _vListInsertEnd'
build/default/production/rtos/list.o(.text+0x44):rtos/list.c:117: first defined here
build/default/production/rtos/list.o(.text+0x80): In function
vListInsert’:
rtos/list.c:146: multiple definition of _vListInsert'
build/default/production/rtos/list.o(.text+0x80):rtos/list.c:146: first defined here
build/default/production/rtos/list.o(.text+0xf2): In function
uxListRemove’:
rtos/list.c:213: multiple definition of `_uxListRemove’
build/default/production/rtos/list.o(.text+0xf2):rtos/list.c:213: first defined here
c:program files (x86)microchipxc16v1.23binbin..bin/elf-ld.exe: Link terminated due to previous error(s).
make[2]: *** [dist/default/production/coreModule.X.production.hex] Error 255
make[1]: *** [.build-conf] Error 2
make: *** [.build-impl] Error 2
multiple definition errors while building PIC24 based project
Posted by
heinbali01 on February 11, 2016
Hi Nick,
Are you sure you didn’t include the list.o module two times?
Can you check the complete command that is issued for linking?
I think it’s got nothing to do with the header file list.h
: those are only function prototypes like this one:
~~~~
void vListInitialise( Listt * const pxList ) PRIVILEGEDFUNCTION;
~~~~
Did you define PRIVILEGED_FUNCTION
somehow?
Regards.