Меня попросили перекомпилировать довольно старую библиотеку обработки EMG, чтобы она работала на современных компьютерах Mac, а не на старых рабочих станциях SunOS, на которых она сейчас работает.Это был болезненный путь для тех, кто не очень разбирался в make-файлах, но после прочтения всего интернета меня это озадачило.
Make-файлы (генерируемые imake) вызывают gcc со следующими параметрами для каждого исходного файлано с ошибками «неопределенные символы»:
gcc -I[First Include Path] -I[Second Include Path] -I. -c [File Name].c
gcc -o [Output File Name] [Include a bunch of libraries] -lm
Я предполагаю, что корень проблемы - ВСЕ операторы #include используют <> для системных библиотек, .h в каталогах включения,и .h в том же каталоге, что и файл .c, который компилируется.Я знаю, что это неправильно, но так оно и есть.Если я изменю их на "" только для .h в той же директории, что и компилируемый .c, то все будет хорошо.
Конечно, я бы не хотел делать это отдельно для сотен файлов.Итак, есть ли какие-то изменения, которые я могу сделать, чтобы gcc посмотрел в текущем каталоге на #include <>?как после прочтения пути поиска, который я собираю, по умолчанию это не так?
Или я обречен продолжить выполнение моего текущего плана по поиску и замене какой-то хакерской работы?