У меня есть два файла заголовка с именем 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