如何解决GCC中的包含文件名冲突?

时间:2010-04-19 08:03:20

标签: c gcc header-files

我在不同的库中有两个名为string.h的头文件,它们相互冲突,甚至与同名的标准C包含文件冲突。

除标准之外,不需要使用任何string.h,但我需要在GCC搜索路径中包含库标题路径。目前我使用类似-I /usr/local/include/lib1 -I /usr/local/include/lib2的内容,但这样我就无法使用标准C string.h

解决此类冲突的正确方法是什么?

2 个答案:

答案 0 :(得分:6)

您可以使用#include <lib1/string.h>并使用gcc -I/usr/local/include进行编译。

答案 1 :(得分:4)

问题是通过-I添加到搜索路径的目录在gcc之前的标准列表中查找(按顺序)

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

所以你可以按照Schnouki的建议,除了不需要添加-I / usr / local / include