使用vs2015社区encog-c编译报错

Encog-c compile errors using vs2015 community

我已经从 http://www.heatonresearch.com/encog/ 下载了 encog-c 源,并尝试使用 vs2015 社区按照说明编译它们。

当我构建解决方案时出现以下错误:

    Severity    Code    Description Project File    Line    Suppression State

    Error   C2059   syntax error: 'sizeof'  encog-core  C:\Users\ypx7647\Documents\Visual Studio 2015\Projects\encog-c-master\encog-core\util.c 39  

    Error   C2059   syntax error: 'sizeof'  encog-core  C:\Users\ypx7647\Documents\Visual Studio 2015\Projects\encog-c-master\encog-core\util.c 44  

和这个链接器问题:

    Severity    Code    Description Project File    Line    Suppression State

    Error   LNK1181 cannot open input file 'C:\Users\ypx7647\Documents\Visual     Studio 2015\Projects\encog-c-master\Release\encog-core.lib'   encog-cmd   C:\Users\ypx7647\Documents\Visual Studio 2015\Projects\encog-c-master\encog-cmd\LINK    1   

我不明白代码中的错误(这是代码):

#ifdef _MSC_VER
int isnan(double x) 
{ 
    return x != x; 
}

int isinf(double x) 
{ 
    return !isnan(x) && isnan(x - x);     
}
#endif

对于链接器错误,我找不到 encog-c-core.lib 文件,因此无法将其添加到其他链接器目录中。

我做错了什么?为了编译源代码,还需要在环境中设置什么。

在此先感谢您的帮助。

根据 MSDN 文档

自 visual studio 2015 年以来,这两个函数都在库中定义。因此,不需要 util.c 中的解决方法。删除或注释掉 util.c

中的这些定义
/*
#ifdef _MSC_VER
int isnan(double x) 
{ 
    return x != x; 
}

int isinf(double x) 
{ 
    return !isnan(x) && isnan(x - x);     
}
#endif
*/

然后重新编译。希望这有帮助。