Я скачал соус Encog-C с http://www.heatonresearch.com/encog/ и пытаясь скомпилировать их в соответствии с инструкциями сообщества 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
*/
затем перекомпилируйте снова. Надеюсь, это поможет.
Других решений пока нет …