dear Rasmus, thanks for your reply, I tried to add the code #define EIGEN_USE_BLAS, but it still doesn't work.
and I found actually multiplication was done, it failed to assignment to the x matrix if the code is like this , it can be compiled successfully: Matrix<double,8, 8> b; Matrix<double, 8, 1> l; Matrix<double, 8, 1> x; b.Zero(); l.Zero(); b*l; -----原始邮件----- 发件人:"Rasmus Munk Larsen" <[email protected]> 发送时间:2021-07-09 04:57:30 (星期五) 收件人: [email protected] 抄送: 主题: Re: [eigen] dense matrix multiplication It looks like your build of Eigen is set up to call the function gemv_ an external BLAS library for large matrices, possibly by setting the macro EIGEN_USE_BLAS. See the documentation here: https://eigen.tuxfamily.org/dox/TopicUsingBlasLapack.html On Thu, Jul 8, 2021 at 2:57 AM 张瑞 <[email protected]> wrote: dear all, I'm a new user of Eigen, I want to get the multiplication of two matrix, and met a confusing problem, and the code is as bellows(for simplicity, all values are set to 0): Matrix<double,8, 8> b; Matrix<double, 8, 1> l; Matrix<double, 8, 1> x; b.Zero(); l.Zero(); x = b*l; Compiled under the windows platform and vs2019 environment, there is a fatal error LNK1120: " Unresolved external symbol_dgemv,funticon "public: static void __cdecl Eigen::internal::general_matrix_vector_product_gemv<int,double,1,0,double,0>::run(int,int,double const *,int,double const *,int,double *,int,double)" (?run@?$general_matrix_vector_product_gemv@HN$00$0A@N$0A@@internal@Eigen@@SAXHHPBNH0HPANHN@Z) " But if I Reduce the matrix dimension, it works, like: Matrix<double,4, 4> b; Matrix<double, 4 1> l; Matrix<double, 4, 1> x; b.Zero(); l.Zero(); x = b*l; very grateful for your help, thank you!
