C / C ++ Повторяющиеся имена файлов заголовков из разных проектов

CoAstroGeek спросил: 13 октября 2017 в 07:38 в: c++

У меня есть проект, в котором используются библиотеки, разработанные различными организациями. Назовите их lib_a и lib_b. Для каждой из этих библиотек мне нужно включить соответствующие заголовочные файлы: lib_a.h, lib_b.h

Оказывается, что каждая из этих библиотек имеет заголовочный файл с тем же именем (но не с тем же содержимым) ), который включен из соответствующего заголовочного файла - назовите его foo.h

Так что в моей компиляции у меня есть что-то вроде этого:

g ++ -I / path / to / lib_a / заголовки -I / path / to / lib_b / headers ... myfile.cc -o myfile.o

Где myfile.cc включает lib_a.h и lib_b.h

Проблема является то, что, поскольку путь к заголовкам lib_a указан первым, загружается файл foo.h из lib_a. Что не подходит для lib_b

Я знаю, что мог бы изменить операторы включения в lib_a.h и lib_b.h, чтобы указать уникальный путь к их соответствующим foo.h. Но тогда я должен был бы сделать это редактирование. каждый раз, когда я получаю новую копию lib_a или lib_b. И любой, кто захочет собрать мой проект, должен будет изменить свои установки lib_a и lib_b. Кажется, должен быть лучший способ, но мой гугл-фу не знает, как задать вопрос.


0 ответов