c++ - 编译 C 代码,看不到 #define 常量

标签 c++ c qt qt4 qt-creator

我正在尝试编译一个 8hz mp3 编码器 - QT Creator 中的 C 代码。

在像这样开始的文件 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不可能不申报。

这可能是什么问题?


此外,除了那个塞子之外,我还收到关于“函数中止的隐式声明”和“函数退出的隐式声明”以及“内置函数'exit'的不兼容隐式声明”的提示,但是,它们是标准的c的函数,为什么会报错?

最佳答案

第一个问题,关于PI ,请参阅 Pascal Cuoq 的评论(仅此而已)。

对于报告的隐式声明问题,您没有包含这些函数的相关 header 。 IIRC exitabort<stdlib.h 声明.但是请检查一下。

干杯,

关于c++ - 编译 C 代码,看不到 #define 常量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013941/

相关文章:

c++ - 0xC0000005 : Access violation writing in loaction

c++ - Qt 发送 keyPressEvent

c++ - 用 Qt 制作问卷,使用 QScrollArea

javascript - 在可扩展的 QML 应用程序中访问 ListView 索引

c++ - 为什么将数组作为 "int *& name"传递?

c++ - malloc 多个小时间或几个大时间更快?

c++ - 我们如何判断 C++ 应用程序是否作为 Windows 服务启动?

c - 输出显示不同

c++ - 如何确保我可以读取该文件并且它没有被另一个进程锁定

c++ - 使用 FFMPEG 和 url_fopen 示例