尝试使用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>
配置属性 - &gt; C / C ++ - &gt; General-&gt;其他包含目录指向GSL-1.15 \ include目录。
配置属性 - &gt;链接器 - &gt;常规 - &gt;其他库目录指向GSL-1.15 \ lib目录。
配置属性 - &gt;链接器 - &gt;输入 - &gt;其他依赖项有两个条目,libgsl.dll.a和libgslcblas.dll.a
如果删除了行T = gsl_rng_default;
,程序将进行编译和链接
使用T = gsl_rng_default;
,程序编译不会链接。
尝试将GSL_DLL作为预处理器定义。对问题没有影响。
在程序顶部尝试#define GSL_DLL
。仍然没有影响这个问题。
尝试配置属性 - &gt; C / C ++ - &gt;代码生成 - &gt;运行时库下的所有设置选项。对问题没有影响。
是否需要抛出另一个开关才能使其与Visual Studio 2008一起使用?
答案 0 :(得分:2)
将“GSL_DLL”添加到配置 - &gt; C / C ++ - &gt;预处理器&gt;预处理器定义。