lapack bindings compiled fail with Visual C++ 7.1

Hi, I used VC7.1 and Boost_1.32_0 to compiled the SVD test file ( ublas_gesvd.cc) which download from http://cvs.sourceforge.net/viewcvs.py/boost-sandbox/boost-sandbox/libs/numer... I get the following error and warring messages: d:\upload\test\ublas_gesvd.cpp(61) : warning C4267: 'argument' : conversion from 'size_t' to 'unsigned int', possible loss of data c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\boost\numeric\ublas\traits.hpp(941) : warning C4267: 'argument' : conversion from 'size_t' to 'const unsigned int', possible loss of data c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\boost\numeric\ublas\matrix_expression.hpp(4462) : see reference to class template instantiation 'boost::numeric::ublas::promote_traits<X,Y>' being compiled with [ X=boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>::size_type, Y=boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>::size_type ] d:\upload\test\ublas_gesvd.cpp(84) : see reference to class template instantiation 'boost::numeric::ublas::matrix_matrix_binary<E1,E2,F>' being compiled with [ E1=boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>, E2=boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>, F=boost::numeric::ublas::matrix_matrix_prod<real_t,real_t,boost::numeric::ublas::matrix_matrix_binary_traits<real_t,boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>,real_t,boost::numeric::ublas::matrix<real_t,boost::numeric::ublas::column_major>>::promote_type> ] c:\Program Files\Microsoft Visual Studio .NET 2003\Vc7\include\boost\numeric\bindings\lapack\gesvd.hpp(281) : error C3861: 'assert': identifier not found, even with argument-dependent lookup d:\upload\test\ublas_gesvd.cpp(69) : see reference to function template instantiation 'int boost::numeric::bindings::lapack::gesvd<m_t,v_t,m_t,m_t,std::vector<_Ty>>(const char,const char,MatrA &,VecS &,MatrU &,MatrV &,VecW &)' being compiled with [ _Ty=real_t, MatrA=m_t, VecS=v_t, MatrU=m_t, MatrV=m_t, VecW=std::vector<real_t> ] What I am missing or doing wrong ? Bert.

HHSU 提到:
I compiled the same file(ublas_gesvd.cc) by useing g++(3.4.2) and boost 1.32 ,but still have error. I got the following error:
/tmp/ccBHG0Ri.o(.gnu.linkonce.t._ZN5boost7numeric8bindings6lapack6detail5gesvdEcciiPdiS4_S4_iS4_iS4_iS4_Pi+0x48): In function `boost::numeric::bindings::lapack::detail::gesvd(char, char, int, int, double*, int, double*, double*, int, double*, int, double*, int, double*, int*)': : undefined reference to `dgesvd_' collect2: ld returned 1 exit status If I rewrite the line 27 in gesvd.hpp #include <boost/static_assert.hpp> ==> #include <boost/assert.hpp> and compiled again via VC 7.1 ,then I get the following error : ublas_gesvd.obj : error LNK2019: unresolved external symbol _dgesvd referenced in function "void __cdecl boost::numeric::bindings::lapack::detail::gesvd(char,char,int,int,double *,int,double *,double *,int,double *,int,double *,int,double *,int *)" (?gesvd@detail@lapack@bindings@numeric@boost@@YAXDDHHPANH00H0H0H0PAH@Z) Debug/n3.exe : fatal error LNK1120: 1 unresolved externals What can I do to solve this problem ? Thansk! Bert.
participants (1)
-
HHSU