Компиляция проекта

  • Автор темы F84
  • Дата начала
Статус
Закрыто для дальнейших ответов.
F

F84

Гость
#1
Доброго времени суток.
У меня такая проблема, один и тот же консольный проект без проблем компилируется дома на в Visual C++ 2009, все работает ок, но на работе на Visual C++ 6.0 выдает такие ошибки:

Deleting intermediate files and output files for project 'Task6_3 - Win32 Debug'.
--------------------Configuration: Task6_3 - Win32 Debug--------------------
Compiling...
Main.cpp
...\include\map(15) : error C2143: syntax error : missing ';' before 'namespace'
...\include\map(15) : error C2501: 'B' : missing storage-class or type specifiers
Navy.cpp
...\include\map(15) : error C2143: syntax error : missing ';' before 'namespace'
...\include\map(15) : error C2501: 'B' : missing storage-class or type specifiers
Ship.cpp
...\include\map(15) : error C2143: syntax error : missing ';' before 'namespace'
...\include\map(15) : error C2501: 'B' : missing storage-class or type specifiers


ругается на строку _STD_BEGIN в include\map
Порылся в интернете, решения проблемы не нашел, кто говорит что
такая проблема может возникнуть из-за кольцевых включений, например, один h-файл включает другой, а тот, в свою очередь, первый.
У меня вроде с этим все ок:
Код:
//Main.cpp
#include <iostream>
#include "Navy.h"
using namespace std;
Код:
//Navy.h
#include "Ship.h"
Код:
//Navy.cpp
#include <iostream>
#include <cstdlib>
#include <time.h>
#include <algorithm>
#include "Navy.h"
using namespace std;
Код:
//Ship.h
#ifndef SHIP_H
#define SHIP_H
#include <map>
#include <set>
#include <string>
Код:
//Ship.cpp
#include <string>
#include <algorithm>
#include "Ship.h"
using namespace std;
Подскажите плз как побороть этот недуг?
 
E

eReS

Гость
#2
попробуй покидать хедер файлы в
Код:
#ifndef NAVY__H_
#define NAVY__H_
// тут содержимое файла
#endif // NAVY__H_
поможет от повторного включения файлов
 
Статус
Закрыто для дальнейших ответов.