Вложенный #include и ошибка: фатальная ошибка: карта: нет такого файла или каталога - PullRequest
0 голосов
/ 23 декабря 2011

Я написал многофайловую программу на C / C ++ и создал library.h и поместил все * .h в library.h, затем #include "library.h", аналогичный следующему коду:

#ifndef LIBRARY_H_
    #include "library.h"
#endif

Мой library.h находится здесь:

#ifndef LIBRARY_H_
#define LIBRARY_H_

#include <map>
#include <fstream>
#include <string>
#include <string.h>
#include <cstdio>
#include <iostream>
#include <ncurses.h>
#include <stdlib.h>
//#include <termios.h>

using namespace std;

#include "structs.h"

#include "globals.h"
#include "typedef.h"


#include "readfile.h"
#include "writefile.h"
#include "tui.h"


#endif /* LIBRARY_H_ */

Обратите внимание, что я получаю следующую ошибку:

фатальная ошибка: карта: нет такого файла или каталога

и карта является первым #include файлом. Я прокомментировал это, тогда карта изменилась на fstream (следующая из карты). Когда я удаляю #include "library.h" из tui.h все в порядке! tui.h здесь:

#ifndef TUI_H_
#define TUI_H_
#ifndef LIBRARY_H_
    #include "library.h"
#endif

//#endif    LIBRARY_H_
//BEGIN_C_DECLS
    void print_menu(WINDOW *menu_win, int highlight);
    void menu();
//END_C_DECLS



#endif /* TUI_H_ */

Как я могу это решить?

...