J'essaie de compiler un encodeur mp3 8hz - code C dans QT Creator.Compilation du code C, ne voit pas une constante # define'd
Dans un l3psy.c de fichier qui commence comme ceci
#include <stdio.h>
#include "types.h"
#include "error.h"
#include "layer3.h"
#include "l3psy.h"
#include "fft.h"
#include "tables.h"
L'étape de construction se plaint de PI étant non déclarés ici
for(i=0;i<BLKSIZE;i++) window[i] = 0.5*(1-cos(2.0*PI*(i-0.5)/BLKSIZE));
Mais types.h, ce qui est évidemment inclus, commence comme ça :
#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
par conséquent, il n'y a aucun moyen pour que PI ne soit pas déclaré.
Quel peut être le problème ici?
aussi, en dehors de ce bouchon, je reçois aussi plaint de « déclaration implicite de abort fonction » et « déclaration implicite de sortie de la fonction » et « déclaration implicite de la fonction « exit » intégrée », mais , ils sont des fonctions standard de c, pourquoi se plaindre?
S'il vous plaît poster le message d'erreur réelle que vous obtenez. –
"il n'y a aucun moyen pour que PI ne soit pas déclaré": De la façon dont il est écrit, si "PI" n'est pas défini avant d'inclure les types.h, il ne reste pas défini après l'inclusion. –
oh ... je vois l'erreur. il ne s'exécute que si pi est défini. – Istrebitel