DSPRelated.com
Forums

more than one instance of overloaded function...

Started by Steve Holle March 29, 2005
I'm attempting to use an fir function from the VisualDSP++ 4.0 library and
am getting the following errors :

"C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
line 370: cc0338: error:
more than one instance of overloaded function "fir" has "C" linkage
float *fir(const float _input[], float _output[],
^

"C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
line 384: cc0338: error:
more than one instance of overloaded function "iir" has "C" linkage
float *iir(const float _input[], float _output[],
^

"C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
line 389: cc0338: error:
more than one instance of overloaded function "biquad" has "C"
linkage
float *biquad(const float _input[], float _output[],

Any ideas???

Steve Holle
Link Communications, Inc.
1035 Cerise Rd.
Billings, MT 59101
sholle@shol...


On Tue, 29 Mar 2005, Steve Holle wrote:

> I'm attempting to use an fir function from the VisualDSP++ 4.0 library and
> am getting the following errors :
>
> "C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
> line 370: cc0338: error:
> more than one instance of overloaded function "fir" has "C" linkage
> float *fir(const float _input[], float _output[],
> ^
>
> "C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
> line 384: cc0338: error:
> more than one instance of overloaded function "iir" has "C" linkage
> float *iir(const float _input[], float _output[],
> ^
>
> "C:\Program Files\Analog Devices\VisualDSP 4.0\211xx\include\filter.h",
> line 389: cc0338: error:
> more than one instance of overloaded function "biquad" has "C"
> linkage
> float *biquad(const float _input[], float _output[],
>
> Any ideas???

I'm willing to make a total fool of myself, because I really have no clue
:-)

Usually "overloading" is done in C++. Since the function returns a
pointer to float, I assume the compiler is trying to go one more level
deep and create a pointer to the function. It sounds like the C++ and C
compiler sections are both being invoked somehow. Or maybe the
preprocessor is being called for C++ and the C compiler is choking on its
output.

Try to find all references to fir, iir and biquad, and figure out which
library they are in. It may be you are trying to link in too many copies
of the same thing.

Can you tell if the error occurs during preprocessing, compiling or
linking?

Patience, persistence, truth,
Dr. mike