尝试使用 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 一起使用?