Я работаю над преобразованием моего проекта Linux для компиляции в Windows с использованием MinGW. Он собирает и работает нормально на Linux, но когда я пытаюсь скомпилировать его с MinGW него бомбы с следующим сообщением об ошибке:MinGW и «декларация ничего не объявляют»
camera.h:11: error: declaration does not declare anything
camera.h:12: error: declaration does not declare anything
Я отчасти сбит с толку, почему это происходит, потому что
- Я использую ту же версию g ++ (4.4) как в Linux, так и в Windows (через MinGW).
- Содержимое камеры.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
Благодарим за помощь.
EDIT: Спасибо и Dirk и mingos, это была именно эта проблема!
В этом нет ничего плохого. Вы пытались удалить элементы «Vector» и связанный с ними заголовок, чтобы исключить их как проблему? –
Директива Include должна находиться под защитой заголовка. Если файл, включающий camera.h, также включает Vector.h, вы получите бесконечную рекурсию. – Eva