Re: [Lapackpp-devel] linker error with lapackpp-2.1.0
Status: Beta
Brought to you by:
cstim
|
From: Christian S. <sti...@tu...> - 2005-02-04 08:56:16
|
Hi,
good to hear that other people are using our software :-)
I didn't see any of these linker errors so far, so your environment is
probably different than mine. What compiler is this? And how do you
include your Lapack++ headers?
I'd guess you are using
#include <lapack++.h>
or something comparable to this, and yes, there were some changes in the
inclusion order inside that header file. This might result in the fact
that the _LA_GEN_MAT_COMPLEX_H_ macro is now defined, which will make
this function visible, whereas in previous versions it might have been
invisible.
Jean-Baptiste Charlety schrieb:
> ..../lapackpp-2.1.1/include/lapackpp/genmd.h:88: multiple definition of
> `LaRandUniform(LaGenMatComplex&, double, double)'
>
> If i comment out this function in genmd.h, the linker error disappears.
> Have you an idea to solve this problem more properly ?
I don't understand why the function definitions have been written in the
header file in the first place. I'd have expected them to be written in
the cpp file, but that's how they came from lapack++ version 1.1.
Nevertheless the linker error should also disappear if you make the
function declaration "inline", i.e. you write
inline LaGenMatComplex& LaRandUniform(LaGenMatComplex &A, double low,
double high)
{ // ....
Does this fix the problem, too? If it does, I'll quickly make a new
release with this bugfix.
Christian
|