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

Тема в разделе "Общие вопросы по С и С++", создана пользователем F84, 31 мар 2010.

Статус темы:
Закрыта.
  1. F84

    F84 Гость

    Доброго времени суток.
    У меня такая проблема, один и тот же консольный проект без проблем компилируется дома на в 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-файл включает другой, а тот, в свою очередь, первый.
    У меня вроде с этим все ок:
    Код (Text):
    //Main.cpp
    #include <iostream>
    #include "Navy.h"
    using namespace std;
    Код (Text):
    //Navy.h
    #include "Ship.h"
    Код (Text):
    //Navy.cpp
    #include <iostream>
    #include <cstdlib>
    #include <time.h>
    #include <algorithm>
    #include "Navy.h"
    using namespace std;
    Код (Text):
    //Ship.h
    #ifndef SHIP_H
    #define SHIP_H
    #include <map>
    #include <set>
    #include <string>
    Код (Text):
    //Ship.cpp
    #include <string>
    #include <algorithm>
    #include "Ship.h"
    using namespace std;
    Подскажите плз как побороть этот недуг?
     
  2. eReS

    eReS Гость

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

Поделиться этой страницей