gsl_rng_default 未解决的外部错误

Posted

技术标签:

【中文标题】gsl_rng_default 未解决的外部错误【英文标题】:gsl_rng_default Unresolved External Error 【发布时间】:2013-05-24 19:33:31 【问题描述】:

尝试使用 GSL 在 Windows 上的 C 语言中生成 beta 分布的随机偏差。程序不会链接,给出众所周知的“错误 LNK2001:无法解析的外部符号 _gsl_rng_default”错误消息。

问题是不是 GSL 的常规安装。我可以编译和调用 cdf 函数就好了。但是,记录在案:

程序有以下内容:

#include <gsl/gsl_randist.h>

#include <gsl/gsl_cdf.h>

#include <gsl/gsl_rng.h>

Configuration Properties->C/C++->General->Additional Include Directories 指向 GSL-1.15\include 目录。

Configuration Properties->Linker->General->Additional Library Directories 指向 GSL-1.15\lib 目录。

Configuration Properties->Linker->Input->Additional Dependencies 有两个入口,libgsl.dll.a 和 libgslcblas.dll.a

如果删除T = gsl_rng_default; 行,程序将编译并链接。 与T = gsl_rng_default; 程序编译不链接。

尝试将 GSL_DLL 作为预处理器定义。对问题没有影响。

在程序顶部尝试了#define GSL_DLL。仍然对问题没有影响。

尝试了配置属性->C/C++->代码生成->运行时库下的所有设置选项。对问题没有影响。

是否必须进行另一个开关才能使其与 Visual Studio 2008 一起使用?

【问题讨论】:

【参考方案1】:

将“GSL_DLL”添加到配置 -> C/C++ -> 预处理器 > 预处理器定义。

【讨论】:

以上是关于gsl_rng_default 未解决的外部错误的主要内容,如果未能解决你的问题,请参考以下文章

什么是未定义的引用/未解决的外部符号错误,我该如何解决?

什么是未定义的引用/未解决的外部符号错误,我该如何解决?

什么是未定义的引用/未解决的外部符号错误,我该如何解决?

什么是未定义的引用/未解决的外部符号错误,我该如何解决?

什么是未定义的引用/未解决的外部符号错误,我该如何解决?

什么是未定义的引用/未解决的外部符号错误,我该如何解决?