Мне интересно, возможно ли указать каталоги include для gcc, чтобы только этот конкретный исходный файл проверял этот каталог. Я хочу сказать, что мне нужна командная строка:
gcc -I[File1 Include Dir] [File1].c -I[File2 Include Dir] [File2].c
так, что #include в [File2] .c НЕ будет искать [File1 Include Dir], а только [File2 Include Dir].
[File1 Include Dir] и [File2 Include Dir] будут содержать файлы и каталоги с одинаковыми именами, поэтому важно, чтобы [File2] не начинал поиск файлов в [File1 Include Dir], потому что он найдет файл с именем, которое он искал, но это будет неправильный файл.
Ограничения: я не могу изменить код в исходных файлах для использования абсолютных путей, и я должен получить желаемое поведение только в одной командной строке. Кроме того, я не могу просто дать две команды в одной строке с чем-то вроде &&. Что на самом деле происходит, так это то, что я должен собрать все аргументы для передачи в скрипт, который вызывает gcc; Я не могу вызвать gcc сам.
Возможен ли такой сценарий?