Я установил VS 2015 Professional. Я установил последний HYPRE, из Лоуренса Ливермора website. Затем я настроил его с помощью CMake и начал строить, и я начал получать BLAS (dnrm2.c
) ошибки построения:Ошибка сборки HYPRE с VS 2015
2> dnrm2.c
2> 1>
C:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h(454): error C2059: syntax error: '('
Строка кода запускающего ошибку в dnrm2.c
является:
#include "math.h"
, который указывает на файл:
c:\Program Files (x86)\Windows Kits\10\Include\10.0.10240.0\ucrt\math.h
Я посмотрел эту ошибку и нашел некоторые предложения, такие как this изменить включают в :
#include <cmath>
и редактировать параметры HYPRE проекта в: Configuration > C/C++ > Advanced > Compile As
к Compile As C++ (/TP)
, который я сделал, но я все еще вижу ту же ошибку, так как по-видимому, тот же путь, заголовок math.h
включается из cmath
, а также:
#else /* _STD_USING */
#include <math.h>
#endif /* _STD_USING */
Я даже попытался переустановить VS 2015 без везения (те же ошибки). Оцените любые идеи о том, что здесь происходит, и как это решить. Наверное, я мог бы попробовать минималистский пример в VS 2015, который включает в себя math.h и отчёт, если это поможет.
EDIT Мой минималистский пример:
#include "math.h"
int main() {
double d1 = sqrt(4.0);
float d2 = abs(4.0);
return 0;
}
, как представляется, строительство OK. Я попытался установить проект таким же образом, как и в Cile (или C++, неважно). Это на самом деле мне не помогает.
_I думаю, я мог бы попробовать минималистский пример в VS 2015, который включает в себя math.h и отчитаться, если это помогает: да, это определенно поможет. –
@MichaelWalz: Я отредактировал сообщение, чтобы включить минималистский пример .. и он строит ОК. Так выглядит, как моя VS 2015 установка в порядке, и проблема HYPRE .. но что это может быть? –