Я написал многофайловую программу на 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_ */
Как я могу это решить?