无法使用lapack构建C ++代码

时间:2012-07-15 12:14:17

标签: c++ ubuntu boost matrix lapack

我写了一个简单的代码来测试boost和lapack 但它不能很好地运作

我的代码:

#include  < iostream>
#include < boost/numeric/bindings/traits/ublas_matrix.hpp>
#include < boost/numeric/ublas/matrix.hpp>
#include < boost/numeric/bindings/lapack/syev.hpp>
#include < boost/numeric/ublas/io.hpp>

namespace ublas = boost::numeric::ublas;
namespace lapack = boost::numeric::bindings::lapack;

int main() {
  ublas::matrix<double> A(3,3);
  ublas::vector<double> B(3);
  A(0,0)=1;
  A(1,1)=2;
  A(2,2)=4;
  A(0,1)=.5;
  A(0,2)=.25;
  A(1,2)=.3;

  lapack::syev('V','L',A,B);
  std::cout << A << std::endl;
  return 0;
}

我选择g ++构建在ubuntu 10.04上 g ++ -llapack test.cpp

这是错误:

没有匹配函数来调用'syev(char .......)'

如果没有“lapack :: syev('V','L',A,B);”它构建好了!
Plz帮助我!!

1 个答案:

答案 0 :(得分:1)

请安装libboost-all-dev包。