Thanks for the answer. I changed Lapack libraries and it solved my problem.
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@gmail.com> 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.objI 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@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas
_______________________________________________
ublas mailing list
ublas@lists.boost.org
http://lists.boost.org/mailman/listinfo.cgi/ublas