如何在GCC中解决包含文件名冲突的问题?
我在不同的库中有两个名为string.h
头文件,它们相互冲突,甚至与同名的标准C包含文件冲突。
除标准之外,不需要使用任何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/
所以你可以按照Schnouki的建议,除了不需要添加-I / usr / local / include