使用Armadillo和Lapack时链接错误

时间:2015-04-20 16:11:29

标签: c++ compiler-errors codeblocks lapack armadillo

我的名字是Ulrich,我刚刚开始写我的学士论文,其中包括我写一个程序的部分,需要一个奇异的价值分解。 首先,我需要说,英语是我的第二语言,我对编程完全陌生。所以请用简单的词语帮助我;)

经过一番研究,我发现Armadillo提供了一个很好的SVD()函数,它基于Lapack库,所以我下载它们并试图正确安装它们,我想我在那部分失败了:< / p>

所以这是我编写的代码的相关部分:

#include <iostream>
#include <vector>
#include <random>
#include <time.h>
#include <math.h>
#include <fstream>
#include <cmath>
#include <sstream>
#include <armadillo>
using namespace std;
using namespace arma;
    mat A(N,2*N+1, fill::zeros); //the zeroess will be replaced later, don't worry i know a SVD of zeroes is stupid ;)
    mat U;
    mat V;
    vec S=svd(A);

编译错误是:

  

未定义参考&#39; dgesdd _&#39;

我用的是什么:

  • 使用MinGW编译器的代码块(可能是最新版本;我在3天前安装了它)。
  • Armadillo Library 4.650.4
  • Lapack Library 3.5.0
  • Windows 8.1

我做了什么: 我在编码器的设置中将编译器与包含来自Armadillo的许多.header文件的文件夹链接起来(... / include / armadillo_bits /) 并且我以相同的方式链接具有4个.header文件的Lapack文件夹(... / lapacke / include /) 此外,犰狳的自述文件说我将从一个名为config.hpp的文件中注释掉某些行 我查看了整个文件,但我认为我不必取消注释任何内容。但为了防止你需要看到它,我可以为你上传文件。

PS:在寻找解决方案的过程中,我遇到了一个问题,看起来与我的问题非常相似,似乎很容易修复,但不幸的是我对此一无所知: Question from stackoverflow 我希望你能帮我这个, 乌利

0 个答案:

没有答案