2011-07-30 16 views
11

W moim bieżącym projekcie odłączyłem pliki klas i pliki nagłówkowe. Moja struktura projektu aktualnie wygląda tak:Jak dołączyć plik z innego folderu?

  • Projekt

    • Źródło
      • src
        • class1.cpp
        • class2.cpp
      • main.cpp
    • nagłówka
      • obejmują
        • class1.h
        • class2.h

Mój problem polega na tym, że nie wiem, jak dołączyć pliki nagłówkowe do plików klas. Czy nie mogę połączyć się z nagłówkami, które nie znajdują się na tym samym poziomie lub w folderze podrzędnym? A może jest jakiś sposób, aby przejść z katalogu głównego projektu i iść dalej w dół? Na przykład:
#include "Project/Headers/include/class1.h" wewnątrz pliku class1.cpp

+0

Prawdopodobnie oznaczało '# include' zamiast' include'. Poprawione w tym celu. –

Odpowiedz

15

Trzeba wskazać zawierać ścieżkę do kompilatora <the directory containing Project> tak, że kompilator jest w stanie odnaleźć zawarte nagłówki. Używając gcc, możesz użyć opcji -I i używając visual studio, możesz użyć /I.

14

Zakładając chcesz class1.cpp zawierać class1.h chcesz zrobić coś takiego

#include "../../Header/class1.h" 

The .. opowiada opowiada OS skakać 1 katalogów w górę, gdy kompilator prosi o pliku.

+4

... nie mówi nic kompilatorowi. Informuje system operacyjny, aby przeskoczył o 1 katalog, gdy kompilator poprosi o plik. – Dani

+0

@Dani Cóż, ten sam efekt ... I tak to edytowałem ... – Pepe

+1

Używanie ".." i ". przy dołączaniu plików nagłówkowych. – mmohaveri

0

Miałem bardzo podobny problem, gdy mój kompilator nie mógł znaleźć nagłówka z kodem :: blokuje projekt C++ (ta sama struktura pliku co OP).

Ten pracował dla mnie:

#include "../include/class1.h" 
Powiązane problemy