DSPRelated.com
Forums

Problem in porting code on C6711

Started by mithunbanerjee77 November 14, 2004


Hi,
I am trying to port G.729 in C6711.
But I am getting errors while linking.

One such example is as follows,
error: symbol _lag multiply defined: c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\decoder.obj and
c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\dfundef.obj

If somebody can suggest a way out that will be highly appreciated.

Regards,
Mithun




Hello Mithun,
 
I am not familiar with G.729 and I am not sure what steps you have taken, but mabe the following will help you.
 
Since this appears to be a linker error, it looks to me like the symbol 'lag' is defined as a global in decoder.c and dfundef.c.
 
The likely solution is to either
1. define the symbol only once or
2. change the name of the second definition and all of its relevant references to something unique like 'lag2'
 
Start by searching for all occurrences of the symbol 'lag' in your code.  Look at the code and try to determine "are all of the instances referring to a single lag" [in which case you remove the second definition] or "are there 2 separate 'lag's being used [in which case you would want to apply #2 above.
 
mikedunn

mithunbanerjee77 <m...@yahoo.com> wrote:
Hi,
I am trying to port G.729 in C6711.
But I am getting errors while linking.

One such example is as follows,
error: symbol _lag multiply defined: c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\decoder.obj and
c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\dfundef.obj

If somebody can suggest a way out that will be highly appreciated.

Regards,
Mithun_____________________________________
Note: If you do a simple "reply" with your email client, only the author of this message will receive your answer. You need to do a "reply all" if you want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to c...@yahoogroups.com

To Post: Send an email to c...@yahoogroups.com

To Leave: Send an email to c...@yahoogroups.com

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com

Yahoo! Groups Links

<*> To visit your group on the web, go to:
http://groups.yahoo.com/group/c6x/

<*> To unsubscribe from this group, send an email to:
c...@yahoogroups.com

<*




This means that this function is defined in multiple files,
specifically decoder.c and dfundef.c. Unlike the Microsoft
and gnu linker, the C6x linker does not resolve multiple def-
initions. Because of this you have to go into these two files
and see where just a prototype is declared (and not the implementation)
and add the keyword extern in front of it.

Regds
Jagadeesh Sankaran

-----Original Message-----
From: mithunbanerjee77 [mailto:]
Sent: Saturday, November 13, 2004 10:15 PM
To:
Subject: [c6x] Problem in porting code on C6711

Hi,
I am trying to port G.729 in C6711.
But I am getting errors while linking.

One such example is as follows,
error: symbol _lag multiply defined: c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\decoder.obj and
c:\program
files\hyperception\vabinf\block
wizard\m\Encoder.exe\DSPCode\Debug\dfundef.obj

If somebody can suggest a way out that will be highly appreciated.

Regards,
Mithun _____________________________________
Note: If you do a simple "reply" with your email client, only the author of
this message will receive your answer. You need to do a "reply all" if you
want your answer to be distributed to the entire group.

_____________________________________
About this discussion group:

To Join: Send an email to

To Post: Send an email to

To Leave: Send an email to

Archives: http://www.yahoogroups.com/group/c6x

Other Groups: http://www.dsprelated.com

Yahoo! Groups Links