У меня есть проект (библиотека), который подразделяется на несколько каталогов с кодом в них. Я хотел бы, чтобы g++ искал файлы заголовков в корневом каталоге проекта, поэтому я могу избежать различных путей включения для одинаковых файлов заголовков в нескольких исходных файлах.
В основном, каталог root/ имеет подкаталоги A/, B/ и C/, все из которых имеют .hpp и .cpp файлы внутри. Если некоторый исходный файл в хотел включить file.hpp, который был в B, он должен был бы сделать это следующим образом: #include "../B/file.hpp". То же самое для другого исходного файла, который был на C. Но если у самого A были подкаталоги с файлами, которые нуждались в file.hpp, тогда это было бы непоследовательно и вызывало бы ошибки, если бы я решил переместить файлы (потому что путь включения был бы "../../B/file.hpp").
Кроме того, это нужно будет работать и из других проектов, которые находятся за пределами root/. Я уже знаю, что есть возможность вручную скопировать все мои файлы заголовков в каталог по умолчанию, но я хотел бы сделать это так, как я описал.
Изменить: все программы, использующие библиотеку, должны компилироваться только с g++ prog.cpp lib.a -o prog. Это означает, что вы постоянно устанавливаете путь include для g++!