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 未解决的外部错误的主要内容,如果未能解决你的问题,请参考以下文章