C++ - Как сделать так чтобы сурс файл читал подключённые библиотеки с файла "main.cpp"?

В файле main.cpp подключён заголовочный файл GLFW/glfw3.h. Я хочу сделать так, чтобы к этому заголовочному файлу имел доступ другой сурс файл, читая её с файла main.cpp.

Вот например у меня есть 3 файла main.cpp, source.hpp и source.cpp, source.hpp подключена к source.cpp. В файле main.cpp подключён заголовочный файл GLFW/glfw3.h в то время как в файле source.cpp он не подключён, но Я хочу сделать так, чтобы файл source.cpp читал заголовочный файл GLFW/glfw3.h с файла main.cpp.

Пример main.cpp:

#include <GLFW/glfw3.h>

#include "source.hpp"

...

Вот например в этом примере source.hpp не читает GLFW/glfw3.h с main.cpp.

Как сделать так, чтобы файл source.cpp читал заголовочный файл GLFW/glfw3.h не подключая её в самом source.cpp и вообще возможно ли такое в C++?


Ответы (2 шт):

Автор решения: Qwertiy

Не надо в .h и .hpp размещать исполняемый код.

Оберни код инициализации в функцию, которую надо поместить в cpp и вызвать в main.

Ещё файл можно помечать для однократного подключения с помощью (если поддерживается компилятором)

#pragma once

или более традиционно

#ifndef SOME_NAME
  #define SOME_NAME

  // тут остальной код
#endif
→ Ссылка
Автор решения: Никита Самоуков

Создать файл compile.cpp

В нем инклуды всех .cpp мейн выше сорц.

Компилить только файл compile.cpp

И тогда будет поведение как описано. Компилиться будет только дольше при малых изменениях. И возможно иде не захочет полностью работать.

→ Ссылка