Error - symbol 'e' has multiple definitions. HELLPPPPP

This is the problem I have with compiling:

Make: The target “H:\FIRST\TEST\scripting_v1\main.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\user_routines_fast.o” is out of date.
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 “user_routines_fast.c” -fo=“user_routines_fast.o” /i"C:\Program Files\Microchip\MPLAB ASM30 Suite\bin" -D_FRC_BOARD -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Make: The target “H:\FIRST\TEST\scripting_v1\user_routines.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\ifi_utilities.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\ifi_startup.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\robot.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\encoder.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\gyro.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\pid.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\serial_ports.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\math.o” is out of date.
Executing: “C:\mcc18\bin\mcc18.exe” -p=18F8520 “math.c” -fo=“math.o” /i"C:\Program Files\Microchip\MPLAB ASM30 Suite\bin" -D_FRC_BOARD -Ou- -Ot- -Ob- -Op- -Or- -Od- -Opa-
Make: The target “H:\FIRST\TEST\scripting_v1\printf.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\interrupts.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\PicSerialDrv.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\asm_lib.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\camera.o” is up to date.
Make: The target “H:\FIRST\TEST\scripting_v1\FrcCode.cof” is out of date.
Executing: “C:\mcc18\bin\mplink.exe” /l"C:\mcc18\lib" /k"C:\Program Files\Microchip\MPASM Suite\LKR" “18f8520user.lkr” “H:\FIRST\TEST\scripting_v1\main.o” “H:\FIRST\TEST\scripting_v1\user_routines_fast.o” “H:\FIRST\TEST\scripting_v1\user_routines.o” “H:\FIRST\TEST\scripting_v1\ifi_utilities.o” “H:\FIRST\TEST\scripting_v1\ifi_startup.o” “H:\FIRST\TEST\scripting_v1\robot.o” “H:\FIRST\TEST\scripting_v1\encoder.o” “H:\FIRST\TEST\scripting_v1\gyro.o” “H:\FIRST\TEST\scripting_v1\pid.o” “H:\FIRST\TEST\scripting_v1\serial_ports.o” “H:\FIRST\TEST\scripting_v1\math.o” “H:\FIRST\TEST\scripting_v1\printf.o” “H:\FIRST\TEST\scripting_v1\interrupts.o” “H:\FIRST\TEST\scripting_v1\PicSerialDrv.o” “H:\FIRST\TEST\scripting_v1\asm_lib.o” “H:\FIRST\TEST\scripting_v1\camera.o” “H:\FIRST\TEST\scripting_v1\FRC_alltimers.lib” “H:\FIRST\TEST\scripting_v1\FRC_library.lib” /o"FrcCode.cof"
MPLINK 3.90, Linker
Copyright © 2004 Microchip Technology Inc.
Error - symbol ‘e’ has multiple definitions.
Errors : 1

BUILD FAILED: Mon Jan 24 17:42:46 2005

Our “e” is defined in math.c

And is assigned as a “short long” array

Could that be the problem? Does normal “C” (Not C++) works with “short long”?

How large do you want the numbers to be? Short long, although it may be valid, sounds like an iffy type to use…

Try char/short/int/long instead.

“short long” is just fine. Try changing the name of your variable “e” to “edward” and recompile. My guess is that “e” is used already somewhere else.