Учитывая этот макет, с A
, содержащим A.h
и A.cpp
, B
, содержащим B.h
и B.cpp
, и main.cpp
в корневом каталоге:
$ ls *.cpp A B
main.cpp
A:
A.cpp A.h
B:
B.cpp B.h
Вы можете использовать `#include" B / Bh "и скомпилировать вашу программу с помощью
c++ -I. main.cpp A/A.cpp B/B.cpp
Флаг -I
указывает компилятору, где искать включаемые файлы.Если вы используете GCC, см. Руководство по GCC .
Содержимое исходного файла
Я отредактировал ваш пример, чтобы он компилировался и выполнялся:
A / Ah:
#include "B/B.h"
void a();
A / A.cpp:
#include "A.h"
void a()
{
b();
}
B /Чч:
void b();
B / B.cpp:
#include <iostream>
void b()
{
std::cout<<"Blah Blah Blah";
}
main.cpp:
#include "A/A.h"
int main()
{
a();
}