@Cander é isso mesmo que o gobannon disse. Você pode usar pch (Pre compiled header) https://msdn.microsoft.com/en-us/library/szfdksca.aspx .
Se você já criou um projeto no Visual studio com template padrão, concerteza já viu o "stdafx.h" no projeto. Isso é um PCH.
#idndef _FILE_
#define _FILE
#endif
Se você não for fazer nenhuma lib, você pode fazer o seguinte para o código ficar mais claro com relação a isso.
// includes.hpp
#pragma once
#include <string.h>
#include <sys/types.h>
#include <dirent.h>
// file.h
#idndef _FILE_
#define _FILE
class File {
char* Filename;
DIR* Path;
};
#endif
// folder.h
#idndef _FOLDER_
#define _FOLDER_
class Folder {
char* folderName;
DIR* folderPath;
};
#endif
// file.cpp
#include "includes.hpp"
#include "file.h"
//folder.cpp
#include "includes.hpp"
#include "folder.h"
Eu gosto dessa abordagem, seu header fica limpo de includes e todos os headers que você tem como dependência ficam em 1 só lugar. Configura o includes.hpp como pch e você tem seus problemas resolvidos.