Я пытаюсь скомпилировать кодер mp3 8 Гц - код C в QT Creator.
В файле l3psy.c, который начинается так:
#include <stdio.h>
#include "types.h"
#include "error.h"
#include "layer3.h"
#include "l3psy.h"
#include "fft.h"
#include "tables.h"
Этап сборки жалуется на то, что PI здесь не объявлен
for(i=0;i<BLKSIZE;i++) window[i] = 0.5*(1-cos(2.0*PI*(i-0.5)/BLKSIZE));
Но types.h, который явно включен, начинается так:
#ifndef TYPES_H
#define TYPES_H
#include <stdio.h>
#include <time.h>
#include "portableio.h"
#ifdef PI
#undef PI
#define PI 3.14159265358979
#endif
#define PI4 .78539816339745
#define PI64 .049087385212
следовательно, PI не может быть необъявленным.
В чем здесь проблема?
Кроме того, кроме этой заглушки, я также получаю жалобы на «неявное объявление прекращения функции» и «неявное объявление выхода из функции» и «несовместимое неявное объявление встроенной функции« выход »», но они являются стандартными функции с, с чего бы это жаловаться?