尝试使用GSL在windows的C中生成beta分布的随机偏差程序将不链接,给出众所周知的“error LNK2001:unresolved external symbol_gsl_rng_default”错误消息。
GSL的一般安装没有问题我可以很好地编译和调用cdf函数但是,作为记录:
程序包括:#include <gsl/gsl_randist.h>
#include <gsl/gsl_cdf.h>
#include <gsl/gsl_rng.h>
配置属性-> C/C++->通用->附加包括指向GLS-1.15\目录的目录点。
配置属性->链接器->常规->其他库目录指向GSL-1.15\lib目录。
配置属性->链接器->输入->附加依赖项有两个条目,libgsl.dll.a和libgslcblas.dll.a
如果删除了T = gsl_rng_default;
行,程序将编译并链接。
使用T = gsl_rng_default;
时,程序编译不会链接。
尝试将GSL_DLL包含为预处理器定义对问题没有影响。
在程序顶部尝试了#define GSL_DLL
对这个问题仍然没有影响。
在配置属性下尝试了所有设置选项。对问题没有影响。
是否还需要抛出另一个开关才能使它在Visual Studio 2008中工作?
最佳答案
将“GSLYDLL”添加到配置-> C/C++ +>预处理器>预处理器定义。
关于c - gsl_rng_default Unresolved external 错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16742405/