Boost logo

Ublas :

From: Jesse Manning (manning.jesse_at_[hidden])
Date: 2007-11-01 08:46:59


First make sure you are successfully linking with the right .lib files.

If you are fairly certain you are linking to the correct .lib files then you
can open the .lib files in visual studio and search for the function that it
says is undefined to make sure it is in the lib. Also depending on how the
fortran code was compiled I think the function name mangling can be changed
by compiler options. For example the function could be _dgesv_ or __dgesv,
etc. instead of _degesv.

When I was using visual studio I changed line 15 in the file
bindings/traits/fortran.h
from #define BIND_FORTRAN_LOWERCASE
to #define BIND_FORTRAN_LOWERCASE_UNDERSCORE

so it would append the underscore to the fortran function name I was trying
to call when using visual studio.

On 11/1/07, Tunc Bahcecioglu <tuncbah_at_[hidden]> wrote:
>
> Hi,
> I am using VSNET 2005 and trying to use lapack with the bindings. But I
> get the following error:
> Error 4 error LNK2001: unresolved external symbol
> _dgesv boostLapackTry1.obj
>
> I put the lapack.lib,blas.lib and matgen.lib to the additional
> dependencies.
> I am trying to compile the following cods:
>
>
> #include
> <boost/numeric/bindings/lapack/gesv.hpp>
>
> #include
> <boost/numeric/ublas/matrix.hpp>
>
> #include
> <boost/numeric/bindings/traits/ublas_matrix.hpp>
>
> namespace
> ublas = boost::numeric ::ublas;
>
> namespace
> lapack = boost::numeric ::bindings::lapack;
>
> int
> main()
>
> {
>
> ublas::matrix<double, ublas::column_major> A(3,3), B (3,1);
>
> lapack::gesv(A, B);
>
> return 0;
>
> }
> I am a newbie to both libraries. Can one tell me what I am missing here.
> Help appreciated.
>
>
> _______________________________________________
> ublas mailing list
> ublas_at_[hidden]
> http://lists.boost.org/mailman/listinfo.cgi/ublas
>
>