【发布时间】:2010-05-02 20:54:09
【问题描述】:
我正在使用 MinGW 将我的 Linux 项目转换为在 Windows 上编译。它在 Linux 上编译和运行都很好,但是当我尝试用 MinGW 编译它时,它会出现以下错误消息:
camera.h:11: error: declaration does not declare anything
camera.h:12: error: declaration does not declare anything
我有点困惑为什么会这样,因为
- 我在 Linux 和 Windows(通过 MinGW)上使用相同版本的 g++ (4.4)。
- camera.h 的内容非常简单。
这是代码。第 11 行和第 12 行令人窒息,其中定义了 float near; 和 float far;。
#include "Vector.h"
#ifndef _CAMERA_H_
#define _CAMERA_H_
class Camera{
public:
Vector eye;
Vector lookAt;
float fov;
float near;
float far;
};
#endif
感谢您的帮助。
编辑:感谢 Dirk 和 mingos,这正是问题所在!
【问题讨论】:
-
这显然没有问题。您是否尝试过删除
Vector成员及其关联的标头以将它们排除为问题? -
包含指令应该在标题保护之下。如果包含camera.h的文件也包含Vector.h,则会得到无限递归。
标签: g++ compiler-errors mingw