链接器错误与DevCpp中的gsl_rng

时间:2017-05-17 05:23:58

标签: c++ c linker dev-c++ gsl

我从官方gnu手册中复制了以下代码,用于随机数生成器:

#include <stdio.h>
#include <gsl/gsl_rng.h>
#include <gsl/gsl_randist.h>


int main (void)
{
  const gsl_rng_type * T;
  gsl_rng * r;

  int i, n = 10;
  double mu = 3.0;

  /* create a generator chosen by the 
     environment variable GSL_RNG_TYPE */

  gsl_rng_env_setup();

  T = gsl_rng_default;
  r = gsl_rng_alloc (T);

  /* print n random variates chosen from 
     the poisson distribution with mean 
     parameter mu */

  for (i = 0; i < n; i++) 
    {
      unsigned int k = gsl_ran_poisson (r, mu);
      printf (" %u", k);
    }

  printf ("\n");
  gsl_rng_free (r);
  return 0;
}

然后我将相应的lib-directory,bin-directory和include-directory添加到我的DevCpp项目中(这似乎工作正常,因为在此之前,DevCpp甚至无法找到这些文件)。但是,当我尝试编译这些文件时,出现以下错误:

  

[链接器错误]未定义参考&#39; gsl_rng_env_setup&#39;
  [链接器错误]未定义引用&#39; gsl_rng_default&#39;

......甚至更多,都可能是指gsl_rng和gsl_randist中定义的函数。另外,在main(void)等之前声明gsl_rng_env_setup并没有帮助(然后我会产生歧义)。你知道如何解决这个问题吗?我使用Windows 7,64位系统和DevCpp来编译C / C ++代码。我甚至尝试过不同的构建gsl-library的方法(例如,从源代码构建,然后,当我遇到此错误时,使用非官方的Windows安装程序),但是没有一种方法可以解决这个问题。

0 个答案:

没有答案