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 шт):
Не надо в .h и .hpp размещать исполняемый код.
Оберни код инициализации в функцию, которую надо поместить в cpp и вызвать в main.
Ещё файл можно помечать для однократного подключения с помощью (если поддерживается компилятором)
#pragma once
или более традиционно
#ifndef SOME_NAME
#define SOME_NAME
// тут остальной код
#endif
Создать файл compile.cpp
В нем инклуды всех .cpp мейн выше сорц.
Компилить только файл compile.cpp
И тогда будет поведение как описано. Компилиться будет только дольше при малых изменениях. И возможно иде не захочет полностью работать.