Как разрешить конфликты имен файлов в GCC?

У меня есть два файла заголовка с именем string.h в разных библиотеках, они конфликтуют друг с другом и даже конфликтуют со стандартным C include-файлом с тем же именем.

Нет необходимости использовать какой-либо string.h кроме стандартного, но мне нужно включить пути заголовков библиотек в путь поиска GCC. В настоящее время я использую что-то вроде -I /usr/local/include/lib1 -I /usr/local/include/lib2 , но таким образом я не могу включить стандартный C string.h .

Каков правильный способ разрешения таких конфликтов?

Вероятно, вы можете использовать #include и скомпилировать с помощью gcc -I/usr/local/include .

Проблема в том, что каталоги, добавленные в путь поиска через -I, выглядят вверх до стандартных, которые для gcc (по порядку)

 /usr/local/include/ /usr/include/ /usr/local/lib/ /usr/lib/ 

Поэтому вы можете следовать советам Шнуки, за исключением того, что нет необходимости добавлять -I / usr / local / include