Eclipse C++ wraz z plikiem nagłówkowym z folderu source

Jestem całkiem nowy w C++ i Eclipse w ogóle, więc przepraszam, jeśli brakuje mi czegoś dość oczywistego.

Problem, który mam polega na tym, że próbuję dołączyć plik nagłówka do jednego z moich plików źródłowych, ale są one w różnych folderach w katalogu mojego projektu. Nie mam pojęcia, jak mam je włączyć. Przesłałem obraz pokazujący mój problem z plikiem nagłówkowym, który chcę dołączyć podświetlony.

Tutaj wpisz opis obrazka

Gdyby ktoś mógł mi powiedzieć jakie' # include ' stwierdzenie I powinno się ich używać, to byłoby genialne.

Dzięki!

Author: Joseph Little, 2012-11-09

2 answers

Istnieje kilka różnych opcji, aby to zadziałało. Najprostszym jest zmiana #include na

#include "../Statistics/Statistics.h"

To będzie działać bez żadnych innych modyfikacji. Jeśli jednak przeniesiesz jeden z plików lub zmienisz w jakiś sposób ścieżkę względną między tymi dwoma plikami, spowoduje to złamanie.

Alternatywnie możesz dodać ścieżkę do folderu Statistics do ścieżki wyszukiwania plików dołączonych kompilatora. Kliknij prawym przyciskiem myszy nazwę projektu, wybierz Properties -> C / C++ Build - > Settings, a następnie znajdź includes opcja ścieżki plików dla Twojego kompilatora. Dla g++ jest to -I<path/to/include/folder>. Dodanie tego spowoduje, że instrukcja #include będzie działać tak, jak ją aktualnie posiadasz.

Bardzo podobną opcją do drugiej jest dodanie ścieżki do folderu src (zamiast folderu Statistics) do ścieżki wyszukiwania includes. W takim przypadku musisz zmienić instrukcję na

#include "Statistics/Statistics.h"
 26
Author: Praetorian,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-08 22:25:09

Kiedy tworzysz podfoldery w folderze src, każdy plik cpp jest kompilowany w tym folderze, w którym się znajduje. Tak więc każdy "" zawiera potrzebę określenia względnej ścieżki, aby przejść z tego folderu do innego.

W Twoim przypadku, aby dostać się z folderu FileInOut musisz wrócić o jeden poziom, a następnie do folderu Statistics

Eg

#include "../Statistics/Statistics.h"

Inną alternatywą jest, jeśli przechowujesz swoje include w katalogu src, dodanie katalogu src Do include / align = "left" / Teraz po dodaniu musisz tylko podać ścieżkę z katalogu głównego src.

Np.

#include "Statistics/Statistics.h"
 1
Author: Dunes,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-11-08 22:26:33