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 |