尝试使用 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>
配置属性->C/C++->常规->附加包含目录指向 GSL-1.15\include 目录。
配置属性->链接器->常规->附加库目录指向 GSL-1.15\lib 目录。
配置属性->链接器->输入->附加依赖项有两个条目,libgsl.dll.a和libgslcblas.dll.a
如果行 T = gsl_rng_default;
则程序编译并链接已删除。
与T = gsl_rng_default;
程序编译不链接。
尝试将 GSL_DLL 作为预处理器定义。对问题没有影响。
尝试过#define GSL_DLL
在程序的顶部。仍然对问题没有任何影响。
尝试了“配置属性”->“C/C++”->“代码生成”->“运行时库”下的所有设置选项。对问题没有影响。
是否需要进行另一个开关才能使其与 Visual Studio 2008 配合使用?
最佳答案
将“GSL_DLL”添加到“配置”->“C/C++”->“预处理器”>“预处理器定义”。
关于c - gsl_rng_default Unresolved external 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16742405/