我有大量的C源代码,其中包含一个系统头文件,如:
#include <sys_header.h>
我还有一个库(让我们称之为better_lib
),这个特定的标题对我的代码更有效,但是这个库的文件夹中还有很多其他文件。我想使用我的C源的所有常规包含,但此文件只能在better_lib
中使用。我确信这种组合效果很好,但问题是:
如何使用sys_header.h
中的GCC使用better_lib/include
并使用标准位置中的所有其他内容(可能是<string.h>
,<math.h>
等)?如果我使用-I
选项,我将覆盖所有标准标头,这是不可行的。如果我使用-include
选项,我会为所有源文件包含该文件,而不仅仅是那些实际需要它的文件。由于它的源代码行超过了20000,因此编译速度会比我容忍的速度慢。
我无法控制better_lib/include
文件夹,它会不时更新,除了我需要的文件外,我无法删除所有文件。我也无法创建新的包含目录或将我需要的标题移动/符号链接到另一个位置。我需要一个全局添加到CFLAGS
的标记,它将像-I
一样工作,但只能在文件级别使用。有吗?